Python数据错误: ValueError: invalid literal for int() with base 10: '42152129.0'

标签 python csv pandas matplotlib data-science

我正在使用 Python 进行一个简单的数据科学项目。但是,我收到以下错误:

ValueError:无法将字符串转换为 float :

这是我的代码:

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)

如果我改变行:

money = int(row[1]) to money = float(row[1])

我收到此错误: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] 字符串值;一个是空的。

你可以测试一下:

if row[1]:
   money = float(row[1])

由于您正在处理数据科学项目,您可能需要考虑使用 pandas project使用 DataFrame.read_csv() 加载您的 CSV .

关于Python数据错误: ValueError: invalid literal for int() with base 10: '42152129.0' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332932/

相关文章:

pandas - 删除具有在 Pandas 数据框中移动的两列的重复值的行?

Python Tkinter Text-Widget 滚动到特定行

python - 属性错误: 'ModelFormOptions' object has no attribute 'private_fields' error message

python - for 循环中的 pandas isin 函数

python - 如何查找输入数据的数据类型

python - 使用 csv 文件从元组到整数

matlab - 在 MATLAB 中导入 CSV 文件

node.js - 如何检索MongoDB中的大量对象?

python - Pandas 数据框中缺少 '%I:%M %p' 数据 - Python

python - 如何获取字典中列表的第一个元素并添加到 Python 中的 Pandas Dataframe 列?