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爲第一步建立的數據庫鏈接
一、讀取數據庫中的內容【read_sql】
import pandas
pandas.read_sql("sql語句", engine)
二、存儲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:表字段對應過去的類型,例子舉了整形和字符兩種;(列不指定類型的話會用默認類型,可是若是類型不匹配會拋錯)
注意點:
一、to_sql的源數據,列名必須和數據庫裏對應;且不能比數據庫中列名多
若是缺乏列名,會直接填充缺省值
二、缺省的列,要有默認值
存儲到sql的列信息能夠爲空,但前提是數據庫表字段寫了默認值;或者相似id這種自增主鍵容許爲空