Python csv解析和添加浮点将返回强制转换错误

Python csv解析和添加浮点将返回强制转换错误,python,Python,我正在通过csv文件进行解析,并提取可以转换为浮动的字符串。当转换它们时,我得到了正确的数据类型,但我在添加行中不断得到这个错误。我不知道为什么 total = 0.0; for line in csv_reader: if(line[0] == 'Jill'): total += float(line[3]); print(total); 我得到以下错误 Traceback (most recent call last): File "

我正在通过csv文件进行解析,并提取可以转换为浮动的字符串。当转换它们时,我得到了正确的数据类型,但我在添加行中不断得到这个错误。我不知道为什么

    total = 0.0;
    for line in csv_reader:
      if(line[0] == 'Jill'):
        total += float(line[3]);
    print(total);
我得到以下错误

Traceback (most recent call last):
  File "/Users/edwinregalado/Desktop/FarmersFridge/parseCSV.py", line 22, in <module>
    total += float(line[3]);
ValueError: could not convert string to float: 
回溯(最近一次呼叫最后一次):
文件“/Users/edwinregalado/Desktop/FarmersFridge/parseCSV.py”,第22行,在
总计+=浮动(第[3]行);
ValueError:无法将字符串转换为浮点:

错误可能是您试图读取的字符串不能很好地转换为浮点值(例如2.2.0)。在执行强制转换和添加之前,请尝试打印第[3]行。错误发生前的最后一次打印输出应该会告诉您哪些内容未正确转换,而且通常情况下,很明显此值转换失败的原因。

您能举一个例子说明
行中的内容吗?如果没有数据,很难进行故障排除。csv中至少有一行第四列包含无法转换为浮点的内容。
line[3]
是类似字符串的数字吗?我的猜测是不是。与
int()
不同,
float()
不喜欢空字符串,因此
float(“”
将引发该确切错误。您可能必须显式地检查它们,并替换为
“0”
。如果第[3]行不是“0”,则可以使用
total+=float(第[3]行)处理空字符串,否则为0