[英]When trying to convert to float to do math it gives me an error
这是它给我的错误。
ValueError:无法将字符串转换为浮点数:''
该字符串具有以下值(从 pycharm 控制台复制):
283,00 欧元
在下面这段代码之后
num = file_row[7].strip('€ /\n')
num= num.replace(",",".")
它具有以下值:
283.00
当我尝试将其转换为浮点值时,使用num = float(num)
它给了我上面的错误。 根据我在发布之前阅读的内容,根据错误,它没有看到要转换的字符串,但我知道我在 xxx.xx 格式的 num 字符串中有值,其中 x = [0,9]
我打印 num 以确保我在它之前和之后都有一些东西,如下所示:
num= file_row[7]
print(num)
num = file_row[7].strip('€ /\n')
num= num.replace(",",".")
print(num)
从控制台复制的打印 output :
283,00 欧元
283.00
这是堆栈跟踪显示的内容:
从控制台复制的打印 output :
283,00 € 283.00
弄清楚了。 我正在阅读 csv。 我将 csv 中一行的所有内容放在一个名为 file_row 的列表中。 但是我忽略了空行,通过较早的条件查看另一个字符串是否已填充。 有些不是。 对于这些行,这会引发错误。 谢谢大家。 你太棒了
您应该使用type(num)
来确保您的 num 当前是正确的字符串。 如果它是正确的字符串,如果您有多个数字,请确保它们都是数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.