Skip to content Skip to sidebar Skip to footer

Tutorial Data Science Dengan Pyhton : Cara Menginstal SQLAlchemy di Python untuk Data Science

Cara Menginstal SQLAlchemy di Python untuk Data Science



Kita dapat terhubung ke database relasional untuk menganalisis data menggunakan perpustakaan pandas serta perpustakaan tambahan lainnya untuk mengimplementasikan konektivitas database. Paket ini dinamai sqlalchemy yang menyediakan fungsionalitas bahasa SQL penuh untuk digunakan dalam python.

Menginstal SQLAlchemy

Instalasi sangat mudah menggunakan Anaconda yang telah kita bahas di bab Data Science Environment . Dengan asumsi Anda telah menginstal Anaconda seperti yang dijelaskan di bab ini, jalankan perintah berikut di Anaconda Prompt Window untuk menginstal paket SQLAlchemy.

conda install sqlalchemy

Membaca Tabel Relasional

Kami akan menggunakan Sqlite3 sebagai database relasional kami karena sangat ringan dan mudah digunakan. Padahal pustaka SQLAlchemy dapat terhubung ke berbagai sumber relasional termasuk MySql, Oracle dan Postgresql dan Mssql. Pertama-tama kita membuat mesin database dan kemudian menyambungkan ke mesin database menggunakan fungsi to_sql dari pustaka SQLAlchemy.

Dalam contoh di bawah ini kami membuat tabel relasional dengan menggunakan fungsi to_sql dari kerangka data yang sudah dibuat dengan membaca file csv. Kemudian kami menggunakan fungsi read_sql_query dari panda untuk mengeksekusi dan menangkap hasil dari berbagai kueri SQL.

from sqlalchemy import create_engine
import pandas as pd

data = pd.read_csv('/path/input.csv')

# Create the db engine
engine = create_engine('sqlite:///:memory:')

# Store the dataframe as a table
data.to_sql('data_table', engine)

# Query 1 on the relational table
res1 = pd.read_sql_query('SELECT * FROM data_table', engine)
print('Result 1')
print(res1)
print('')

# Query 2 on the relational table
res2 = pd.read_sql_query('SELECT dept,sum(salary) FROM data_table group by dept', engine)
print('Result 2')
print(res2)

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

Result 1
   index  id    name  salary  start_date        dept
0      0   1    Rick  623.30  2012-01-01          IT
1      1   2     Dan  515.20  2013-09-23  Operations
2      2   3   Tusar  611.00  2014-11-15          IT
3      3   4    Ryan  729.00  2014-05-11          HR
4      4   5    Gary  843.25  2015-03-27     Finance
5      5   6   Rasmi  578.00  2013-05-21          IT
6      6   7  Pranab  632.80  2013-07-30  Operations
7      7   8    Guru  722.50  2014-06-17     Finance

Result 2
         dept  sum(salary)
0     Finance      1565.75
1          HR       729.00
2          IT      1812.30
3  Operations      1148.00

Memasukkan Data ke Tabel Relasional

Kami juga dapat memasukkan data ke dalam tabel relasional menggunakan fungsi sql.execute yang tersedia di panda. Pada kode di bawah ini kami file csv sebelumnya sebagai kumpulan data masukan, menyimpannya dalam tabel relasional dan kemudian memasukkan catatan lain menggunakan sql.execute.

from sqlalchemy import create_engine
from pandas.io import sql

import pandas as pd

data = pd.read_csv('C:/Users/Rasmi/Documents/pydatasci/input.csv')
engine = create_engine('sqlite:///:memory:')

# Store the Data in a relational table
data.to_sql('data_table', engine)

# Insert another row
sql.execute('INSERT INTO data_table VALUES(?,?,?,?,?,?)', engine, params=[('id',9,'Ruby',711.20,'2015-03-27','IT')])

# Read from the relational table
res = pd.read_sql_query('SELECT ID,Dept,Name,Salary,start_date FROM data_table', engine)
print(res)

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

   id        dept    name  salary  start_date
0   1          IT    Rick  623.30  2012-01-01
1   2  Operations     Dan  515.20  2013-09-23
2   3          IT   Tusar  611.00  2014-11-15
3   4          HR    Ryan  729.00  2014-05-11
4   5     Finance    Gary  843.25  2015-03-27
5   6          IT   Rasmi  578.00  2013-05-21
6   7  Operations  Pranab  632.80  2013-07-30
7   8     Finance    Guru  722.50  2014-06-17
8   9          IT    Ruby  711.20  2015-03-27

Menghapus Data dari Tabel Relasional

Kami juga dapat menghapus data ke dalam tabel relasional menggunakan fungsi sql.execute yang tersedia di panda. Kode di bawah ini menghapus baris berdasarkan kondisi input yang diberikan.

from sqlalchemy import create_engine
from pandas.io import sql

import pandas as pd

data = pd.read_csv('C:/Users/Rasmi/Documents/pydatasci/input.csv')
engine = create_engine('sqlite:///:memory:')
data.to_sql('data_table', engine)

sql.execute('Delete from data_table where name = (?) ', engine,  params=[('Gary')])

res = pd.read_sql_query('SELECT ID,Dept,Name,Salary,start_date FROM data_table', engine)
print(res)

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

   id        dept    name  salary  start_date
0   1          IT    Rick   623.3  2012-01-01
1   2  Operations     Dan   515.2  2013-09-23
2   3          IT   Tusar   611.0  2014-11-15
3   4          HR    Ryan   729.0  2014-05-11
4   6          IT   Rasmi   578.0  2013-05-21
5   7  Operations  Pranab   632.8  2013-07-30
6   8     Finance    Guru   722.5  2014-06-17

Post a Comment for "Tutorial Data Science Dengan Pyhton : Cara Menginstal SQLAlchemy di Python untuk Data Science"

close