簡體   English   中英

當我插入整數時,為什么會收到“ ValueError:int()以10為底的無效文字:”

[英]why do I recieve “ValueError: invalid literal for int() with base 10: ''” when I do insert integer

這是我的功能:

def _make_junction(i_str,lat_str,lon_str,* link_row):

'This function is for local use only'

print(i_str + ' ' + lat_str + ' ' + lon_str)

i, lat, lon = int(i_str), float(lat_str), float(lon_str)

但是,我收到:

0 29.4412461 34.841524

1 29.44148 34.8417302

2 29.442425 34.8422023

3 29.444021 34.8432352

4 29.4476115 34.8460974

5 29.4529769 34.8508125

6 29.454155 34.8518639

7 29.4542612 34.8519374

8 29.492126 34.8987881

9 29.4920116 34.8990719

10 29.4912583 34.9004446

錯誤信息:

Traceback (most recent call last):
File "C:\Users\Eli\Documents\Introduction to AI\HW1\stats.py", line 40, in <module>
print_stats()
 File "C:\Users\Eli\Documents\Introduction to AI\HW1\stats.py", line 33, in print_stats
for k, v in map_statistics(load_map_from_csv()).items():
 File "C:\Users\Eli\Documents\Introduction to AI\HW1\ways\tools.py", line 134, in wrap
res = f(*x, **d)
 File "C:\Users\Eli\Documents\Introduction to AI\HW1\ways\graph.py", line 112, in load_map_from_csv
lst = {int(row[0]):_make_junction(*row) for row in csv.reader(it)}
 File "C:\Users\Eli\Documents\Introduction to AI\HW1\ways\graph.py", line 112, in <dictcomp>
lst = {int(row[0]):_make_junction(*row) for row in csv.reader(it)}
 File "C:\Users\Eli\Documents\Introduction to AI\HW1\ways\graph.py", line 91, in _make_junction
i, lat, lon = int(i_str), float(lat_str), float(lon_str)
ValueError: invalid literal for int() with base 10: ''

為什么會這樣呢? i_str的值是整數...

提前致謝。

追溯的最后一行表示i_str是一個空字符串。

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

檢查您的CSV,我敢打賭您的解析遇到了一個極端的情況,即該數據的格式未達到您的預期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM