我需要读取一个csv并对mysqldb执行插入操作。我被告知要用蟒蛇写,但不要用熊猫。但是在将这些信息传递给数据库insert时,iam得到了一个与数据类型有关的错误。通过从csv中读取,我将所有列都作为字符串,在我的dbtable中,有些列的数据类型为float和varchar mixe3d。所以在对于csv_data:中的行
cursor.execute('INSERT INTO testcsv(names,
classes, marks )'
'VALUES("%s", "%s", "%s")',
row)
正在发生类型不匹配。所以请在
中帮助我csv_data=csv.reader(打开('D:/satya.csv'))
我可以添加一些条件吗?这样我的第一列将重命名为字符串,另外两列将变为浮点类型。或者在读取之后,有没有任何方法可以读取一列并更改其数据类型。然后将其传递给具有相同dtype的db。这样我就可以写了
cursor.execute('INSERT INTO testcsv(名称\类,标记)'\'值("%s"、"%s"one_answers"%s")'请帮忙。
您的代码几乎可以,它缺少的是正确的格式。要使用%
格式化字符串,实际上需要使用%
运算符:
cursor.execute(
'INSERT INTO testcsv(names, classes, marks)
VALUES("%s", "%s", "%s")' % row
)
假设您的CCD_ 3是3元素CCD_。此外,如果要插入数值而不是字符串,只需在查询字符串中删除双引号"..."
即可。