如何在读取csv文件时更改列的数据类型



我需要读取一个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_。此外,如果要插入数值而不是字符串,只需在查询字符串中删除双引号"..."即可。

相关内容

  • 没有找到相关文章

最新更新