我需要读取一个CSV文件,其中包含每个国家/地区和每天的被感染人数,然后使用python将这些行插入MYSQL数据库。我已经创建了数据库,它包含的列数与CSV文件相同。当我尝试运行下面的代码时,出现以下错误消息:“ ValueError:无法处理参数”。您能否看一下,让我知道他的代码有问题吗?非常感谢!
import pandas as pd
import mysql.connector
mydb = mysql.connector.connect(
host="127.0.0.1",
user="root",
passwd="xxxx",
database="covid19_ca"
)
mycursor = mydb.cursor()
dataframe = pd.read_csv('total_cases_modified.csv')
print(dataframe)
for row in dataframe:
mycursor.execute('INSERT INTO covid_per_day_per_country (date, World, Afghanistan) VALUES("%s", "%s", "%s"")', row)
mydb.commit()
cursor.close()
首选的熊猫方法是使用to_sql
功能。首先安装sqlalchemy软件包。然后尝试此代码。表和数据框中的列名称必须相同。
to_sql
如果您想继续使用代码并遍历数据框(请注意它是from sqlalchemy import create_engine
engine = create_engine('mysql://root:[email protected]/')
dataframe.to_sql('covid19_ca', engine)
,则可以尝试以下操作:
not recommended