从Python编写数据框到MySQL

Pau*_*a C 2 python mysql dataframe pandas

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

Ale*_*ung 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) 
Run Code Online (Sandbox Code Playgroud)

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