1. 程式人生 > >pd的io中的sql的to_sql方法 匯入mysql

pd的io中的sql的to_sql方法 匯入mysql

當我們利用pandas處理完資料後,有時可能需要將處理好的資料儲存到資料庫中,這時需要利用sqlalchemy。

SQLAlchemy“採用簡單的Python語言,為高效和高效能的資料庫訪問設計,實現了完整的企業級持久模型”。

利用sqlalchemy,可以講pandas型別的格式資料儲存到資料庫中,但是在使用過程中還是有很多坑的,下面簡單介紹一下如何使用:

1:

import pandas as pd

from sqlalchemy import create_engine

匯入模組中的create_engine,需要利用它來進行連線資料庫

2:

conn = create_engine('

mysql+mysqldb://root:[email protected]:3306/w_analysis?charset=utf8')

建立連線,利用create_engine

3:

pd.io.sql.to_sql(df,table_name,con=conn,schema='w_analysis',if_exists='append')

利用pd的io中的sql的to_sql方法進行匯入(記住不是pd的to_sql)

4:

conn.dispose()

關閉連線

create_engine引數說明:

(mysql+mysqldb://使用者名稱:密碼@localhost:埠/資料庫名?編碼)? ? 設定資料庫的編碼方式,可以防止latin字元不識別而報錯

to_sql引數說明:

(資料,表名,con=連線鍵,schema='資料庫名',if_exists='操作方式')? ? 操作方式有append、fail、replace

append:如果表存在,則將資料新增到這個表的後面

fail:如果表存在就不操作

replace:如果存在表,刪了,重建

!!!這裡提醒一下可能出現的錯誤:

ModuleNotFoundError: No module named 'MySQLdb'請看這裡

注:pd 1.9以後的版本,除了sqllite,均需要通過sqlalchemy來設定