我有以下csv調用report.csv
。這是一個Excel文件:IndexError:列表索引超出範圍csv reader python
email agent_id misc
[email protected] 65483843154f35d54 blah1
[email protected] sldd989eu99ufj9ej9e blah 2
我有以下代碼:
import csv
data_file = 'report.csv'
def import_data(data_file):
attendee_data = csv.reader(open(data_file, 'rU'), dialect=csv.excel_tab)
for row in attendee_data:
email = row[1]
agent_id = row[2]
pdf_file_name = agent_id + '_' + email + '.pdf'
generate_certificate(email, agent_id, pdf_file_name)
我收到以下錯誤:
Traceback (most recent call last):
File "report_test.py", line 56, in <module>
import_data(data_file)
File "report_test.py", line 25, in import_data
email = row[1]
IndexError: list index out of range
我認爲指數爲列數,內每一行。 row[1]
和'行[2]`應該在範圍內,不是?
您需要修復縮進。此外,列表索引從0開始。 – LukeP
@LukeP對縮進感到抱歉。我知道指數從0開始。因此,如果有3個項目,不應該1和2在範圍內? – dwstein
電子郵件列是行[0],您的代理ID是行[1],您的misc是行[2],看起來您只需要移動索引。 – LampPost