我正在用Python进行一个简单的数据科学项目。但是,我得到一个错误,如下所示:
ValueError:无法将字符串转换为浮点:
下面是我的代码:
import matplotlib.pyplot as plt
import csv
from datetime import datetime
filename = 'USAID.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
monies = []
for row in reader:
money = int(row[1])
monies.append(money)
print(monies)
如果我改线:
^{pr2}$我得到以下错误:ValueError:无法将字符串转换为float: 以下是我的回溯:第一个错误:
Traceback (most recent call last):
File "funding.py", line 60, in <module>
money = int(row[1])
ValueError: invalid literal for int() with base 10: '42152129.0'
第二个错误:
Traceback (most recent call last):
File "funding.py", line 60, in <module>
money = float(row[1])
ValueError: could not convert string to float:
任何帮助都太好了!谢谢您!在
第一个失败是因为您将一个包含
.
的字符串传递给了int()
;由于存在小数部分,因此无法将其转换为整数。在第二个失败是由于一个不同的
row[1]
字符串值;该值为空。在你可以测试一下:
由于您正在处理一个数据科学项目,您可能需要考虑使用^{} project 来加载CSV,而不是使用^{} 。在
row[1]
中的一些条目是空的,因此您可能需要在尝试cast之前检查这些条目。如果条目为空,则传递一个默认值,比如0
。在那么您应该考虑使用^{} 来进行与金钱相关的计算。在
相关问题 更多 >
编程相关推荐