TypeError:'_ csv.reader'对象没有属性'__getitem__'?

Mic*_*ael 7 python csv

到目前为止,这是我的代码:

import csv
reader = csv.reader(open('new_file.txt','r'),delimiter=' ')
row1 = reader[0]
row2 = reader[1]
row3 = reader[2]
Run Code Online (Sandbox Code Playgroud)

这是我的new_file.txt:

this is row one
this is row two
this is row three
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我有以下错误:

Traceback (most recent call last):
  File "/home/me/Documents/folder/file.py", line 211, in <module>
    row1 = reader[0]
TypeError: '_csv.reader' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

谢谢.

Mar*_*ers 18

csv.reader()对象是不是一个序列.您无法按索引访问行.

你必须将整个迭代"啜饮"成一个列表:

rows = list(reader)
row1 = rows[0]
row2 = rows[1]
row3 = rows[2]
Run Code Online (Sandbox Code Playgroud)

这通常不是一个好主意.您可以使用next()函数从迭代器中请求下一个值:

reader = csv.reader(open('new_file.txt','r'),delimiter=' ')
row1 = next(reader)
row2 = next(reader)
row3 = next(reader)
Run Code Online (Sandbox Code Playgroud)