将数据帧从Python写入MySQL

时间:2017-02-21 14:50:36

标签: python mysql pandas dataframe

我有一个脚本从API下载数据并将所有这些信息转换为CSV。我需要将这些数据放入MySQL中的表中(我已经创建了它并建立了与MySQL Connector的连接)。反正有吗?

1 个答案:

答案 0 :(得分:5)

Pandas.DataFrame有一个方法to_sql,它将数据帧写入sql表。

使用该方法的最简单方法是使用sqlalchemy创建连接。(您需要安装mysql-python)并使用.to_sql将数据读入表中。

from sqlalchemy import create_engine
engine = create_engine('mysql://username:password@host:port/database') #change to connect your mysql
#if you want to append the data to an existing table
df.to_sql(name='SQL Table name',con=engine,if_exists='append',index=False) 

#if you want to create a new table 
df.to_sql(name='New SQL Table name',con=engine,if_exists='fail',index=False) 

请注意,如果您事先创建了表格,则需要使用参数dtype来定义表格列的dtype。

相关问题