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('
建立連線,利用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來設定