2013-07-09 54 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

相關問題