將pandas的DataFrame數據寫入MySQL數據庫 + sqlalchemy


將pandas的DataFrame數據寫入MySQL數據庫 + sqlalchemy

 

 

[python] view plain copy
 
print?
  1. import pandas as pd  
  2. from sqlalchemy import create_engine  
  3.   
  4. ##將數據寫入mysql的數據庫,但需要先通過sqlalchemy.create_engine建立連接,且字符編碼設置為utf8,否則有些latin字符不能處理  
  5. yconnect = create_engine('mysql+mysqldb://root:password@localhost:3306/databasename?charset=utf8')  
  6. pd.io.sql.to_sql(thedataframe,'tablename', yconnect, schema='databasename', if_exists='append')  
import pandas as pd
from sqlalchemy import create_engine

##將數據寫入mysql的數據庫,但需要先通過sqlalchemy.create_engine建立連接,且字符編碼設置為utf8,否則有些latin字符不能處理
yconnect = create_engine('mysql+mysqldb://root:password@localhost:3306/databasename?charset=utf8')
pd.io.sql.to_sql(thedataframe,'tablename', yconnect, schema='databasename', if_exists='append')


to_sql中,

 

第一個參數thedataframe是需要導入的pd dataframe,

第二個參數tablename是將導入的數據庫中的表名

第三個參數yconnect是啟動數據庫的接口,pd 1.9以后的版本,除了sqllite,均需要通過sqlalchemy來設置

第四個參數databasename是將導入的數據庫名字

第五個參數if_exists='append'的意思是,如果表tablename存在,則將數據添加到這個表的后面

 

sqlalchemy.create_engine是數據庫引擎

('mysql+mysqldb://root:password@localhost:3306/databasename?charset=utf8')的解釋

mysql是要用的數據庫

mysqldb是需要用的接口程序

root是數據庫賬戶

password是數據庫密碼

localhost是數據庫所在服務器的地址,這里是本機

3306是mysql占用的端口

elonuse是數據庫的名字

charset=utf8是設置數據庫的編碼方式,這樣可以防止latin字符不識別而報錯

轉自 http://blog.csdn.net/biboshouyu/article/details/54139641


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM