pandas,讀取或存儲DataFrames的數據到mysql中


dataFrames格式的數據是表格形式的,mysql數據庫中的數據也是表格形式的,二者可以很方便的讀取存儲
 
安裝依賴的包
pip install pandas
pip install sqlalchemy
pip install pymysql

使用方法 

第一步:建立mysql數據庫的連接

connect_info = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format("username", "password", "host", "port", "db數據庫名")
engine = create_engine(connect_info)

 

第二步:讀取存儲數據庫

此步使用的engine為第一步創建的數據庫連接

1、讀取數據庫中的內容【read_sql】

import pandas
pandas.read_sql("sql語句", engine)
 

2、存儲dataFrame數據到數據庫中【to_sql】

df.to_sql(name='table表名',
          con=engine,
          if_exists='append',
          index=False,
          dtype={'IterationId': sqlalchemy.types.Integer(),
                 'title': sqlalchemy.types.NVARCHAR(length=255)
                 }
               )

 

方法說明:
df:dataFrame格式的數據,可以通過DataFrame()方法創建一個該對象
pandas.DataFrame({"ID": [], "標題": []})
name:存儲到的表名
con:第一步創建的數據庫鏈接
if_exists:
    fail:如果表存在,什么也不做
    replace:如果表存在,drop掉表,重新創建一個表,插入數據
    append:如果表不存在,創建表插入數據;如果表存在,原表追加數據存儲
dtype:表字段對應過去的類型,例子舉了整形和字符兩種;(列不指定類型的話會用默認類型,但是如果類型不匹配會拋錯)
 
 
注意點:
1、to_sql的源數據,列名必須和數據庫里對應;且不能比數據庫中列名多
如果缺少列名,會直接填充缺省值
2、缺省的列,要有默認值
存儲到sql的列信息可以為空,但前提是數據庫表字段寫了默認值;或者類似id這種自增主鍵允許為空


免責聲明!

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



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