gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 23:45:47 24 4
gpt4 key购买 nike

我需要读取一个 csv 并对 mysql 数据库执行插入操作。我被告知用 python 编写但不使用 pandas。但是在将这些传递给 db insert 时,我收到了与数据类型相关的错误。通过从 csv 读取,我将所有列作为字符串获取,而在我的 dbtable 中,某些列的数据类型为 float 和 varchar mixe3d。所以在对于 csv_data 中的行:

    cursor.execute('INSERT INTO testcsv(names, \
classes, marks )' \
'VALUES("%s", "%s", "%s")',
row)

类型不匹配正在发生。所以请帮助我
csv_data = csv.reader(open('D:/satya.csv'))

我能否添加一些条件或其他内容,以便我的第一列将重命名为字符串,而其他两列将变为浮点型。或者在阅读之后有没有办法读取一列并更改其数据类型。然后将其传递给具有相同数据类型的数据库。这样我就可以写

cursor.execute('插入 testcsv(名称,\ 类(class),分数)'\ 'VALUES("%s", "%s", "%s")'请帮忙。

最佳答案

您的代码几乎没问题,缺少的是正确的格式。要使用 % 格式化字符串,您实际上需要使用 % 运算符:

cursor.execute(
'INSERT INTO testcsv(names, classes, marks) \
VALUES("%s", "%s", "%s")' % row
)

假设您的 row 是一个 3 元素 tuple。此外,如果您想插入数值而不是字符串,只需删除查询字符串中的双引号 "..."

关于python - 从csv文件读取时如何更改列的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33607642/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com