我正在編寫代碼以從Python中的CSV文件製作全局字典。代碼沒有達到我所期望的。爲什麼此CSV到Python字典代碼會給出IndexError?
users.csv
name,money_in_pocket
siem,10
bart,10
ivar,10
test.py
import csv
global users
users = {}
with open('users.csv', mode='r') as readuserfile:
readusers = csv.reader(readuserfile, delimiter=',')
next(readusers)
for rows in readusers:
users[rows[0]] = float(rows[1])
運行這段代碼後,我希望以下在外殼發生:
>>>print(dict)
{'siem': 10, 'bart': 10, 'ivar': 10}
相反,運行test.py會拋出下一個錯誤:
Traceback (most recent call last):
----File "C:\Users\siemd\Desktop\test.py", line 8, in
--------users[rows[0]] = float(rows[1])
IndexError: list index out of range
如果我理解這個權利,那麼rows[0]
和rows[1]
無法返回值,因爲它們超出了'list'(它是一個讀取csv文件)的範圍。
但他們應該......對嗎?
你可能有你的CSV結束一個空行,或行的地方,只有一列。 –
users.csv文件就是test.py中使用的文件@DanielRoseman。所以每行有2列,沒有最後一行空白 – Siem