TypeError:格式字符串的参数不足(使用pyhton将数据从csv加载到mysql中)

时间:2019-06-26 01:42:27

标签: python mysql pandas

我尝试使用python脚本将csv文件中的数据加载到mysql数据库中。当我运行代码时,出现有关字符串的错误。

错误:TypeError:用于格式字符串的参数不足

df = pd.read_csv('testing.csv', delimiter=';', skiprows = 4)
print(df)

for row in df:

 cursor.execute('INSERT INTO FIRMS(ID, \
                REGISTRATION_NUMBER, NAME, DATE_ESTABLISHED, ADDRESS, PHONE_NO, FAX_NO, EMAIL, STATUS, POSTAL_CODE, DISTRICT, STATE )'\
                     'VALUES("%s", "%s", "%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")',
                     row)

df.to_pymysql("FIRMS", db , flavor='pymysql', if_exists='append')
db.commit()
cursor.commit()

是否有解决此问题的建议?谢谢你。

1 个答案:

答案 0 :(得分:0)

这里的问题是,您正在尝试传递想要元组的列表。应该通过将行强制转换为元组来解决此问题,例如:

cursor.execute('INSERT INTO FIRMS(ID, \
            REGISTRATION_NUMBER, NAME, DATE_ESTABLISHED, ADDRESS, PHONE_NO, FAX_NO, EMAIL, STATUS, POSTAL_CODE, DISTRICT, STATE )'\
                 'VALUES("%s", "%s", "%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")',

                tuple(row))

那应该为您修复