我正在運行由其他人給我的腳本,但我不斷收到以下錯誤:ValueError:int()與基數爲10的無效文字:'1 t20.1103 t17.00 n'
line 144, in <module>
ID=int(afields[0])
ValueError: invalid literal for int() with base 10: '1\t20.1103\t17.00\n'
這個錯誤來自這部分代碼:
while altlat and tminM and tmaxM:
afields=altlat.split(' ')
tmifields=tminM.split(' ')
tmxfields=tmaxM.split(' ')
ID=int(afields[0])
y= float(afields[1])
z=float(afields[2])
凡altlat從.txt文件中讀取:
ifh0=open(infilepath + '\\' + 'lat_alt_hainan.txt', "r")
zy_header_line=ifh0.readline()
altlat=ifh0.readline()
lat_alt_hainain .TXT看起來是這樣的:
POINTID lat alt
1 20.1103 17.00
2 20.0269 1.00
3 20.0269 16.00
4 20.0269 17.00
5 20.0269 5.00
6 20.0269 5.00
等等
所以第一列使用INT,另外兩個使用FLOAT調用。這是錯誤出現的地方。腳本的創建者告訴我,將excel中的.txt文件格式化爲數字格式,之後錯誤消失,但是我已經完成了這一步,錯誤仍然存在。然後我想這可能是因爲.txt文件使用'。'作爲小數點分隔符,而我的電腦使用',',但我改變了這一點,錯誤仍然出現。你知道任何其他方式來準備.txt文件以供Python讀取嗎?
謝謝!
tminM和tmaxM定義在哪裏? –
它不會在int或float下面,所以打印這個錯誤 – The6thSense