将pandas的DataFrame数据写入MySQL + sqlalchemy
python强大的处理数据的能力很大一部分来自Pandas,pandas不仅限于读取本地的离线文件,也可以在线读取数据库的数据,处理后再写回数据库中。pandas主要是以sqlalchemy方式与数据库建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。
一:创建链接数据库引擎
from sqlalchemy import create_engine
engine= create_engine('mysql+pymysql://root:password@localhost:3306/databasename?charset=utf8',echo = True)
echo = True ,会显示在加载数据库所执行的SQL语句。
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存在,