我有一个pandas数据框,其中的一列包含列表格式tield(即[2ndchance])
我想按原样将其插入数据库中,但出现错误。
我要执行以下句子:
df_playbyplay.to_sql('playbyplay', con=engine, if_exists='replace', index=False)
,它失败并显示以下错误:
ProgrammingError:(mysql.connector.errors.ProgrammingError)处理pyformat参数失败;无法将Python“列表”转换为MySQL类型[SQL:'INSERT INTO playbyplay
我想按原样将其添加到表中,如果不可能的话,只想将其从数据框中删除,但是无论执行什么,似乎总是将其识别为列表,而最初只是一个字符串。
答案 0 :(得分:1)
每个单元格的变量列表未遵循SQL规则的安全性,此类插入可能导致SQL注入攻击。
我推荐
df['list of columns']=df['list of columns'].str.join(', ')
然后我们将其插入数据库