13

我有一个从 csv 文件解析数据的脚本。以下行给我带来了问题:

countData.append([timeStamp,int(my_csv[row][5])])

它给了我以下错误:

ValueError: invalid literal for int() with base 10: '808.666666666667' 

csv文件的行如下:

2013-06-12 15:09:00,svcName,0,0,10,808.666666666667

我试过int(808.666666666667)在 python 提示符下运行,它工作正常。

4

1 回答 1

29

从帮助int

int(x, base=10) -> int 或 long

如果 x不是数字或给定基数,则 x 必须是字符串或 Unicode 对象,表示给定基数中的整数文字。

因此,对于 any来说,这'808.666666666667'是一个无效的文字,请使用:intbase

>>> int(float('808.666666666667' ))
808

int(808.666666666667)运行良好,因为您将浮点数传递给它,而不是字符串文字。

于 2013-07-09T20:46:32.617 回答