繁体   English   中英

当试图转换为浮点数来做数学时,它给了我一个错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM