2013-07-09 58 views
12

我有一个脚本,分析来自csv文件的数据。下面一行是给我的问题:Python:无效文字为int()与基地10:'808.666666666667'

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提示符下工作正常。

+11

运行'int('808.666666666667')',你会看到问题。 –

+0

你能告诉我们什么是'my_csv [row] [5]'? –

回答

28

从帮助上int

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

If x is not a number or if base is given, then x must be a string or Unicode object representing an integer literal in the given base.

所以,'808.666666666667'是无效的字面int任何base,用途:

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

int(808.666666666667)运行正常,因为你传递一个浮动它,而不是字符串文字。

+0

谢谢。 my_csv [row] [5]的输出总是一个表示直到今天的整数的字符串。我看到这是允许的,但不是字符串浮点数/小数。 – imagineerThat

相关问题