对不起新手问题。我试图在python中迭代csv文件的连续(元组)行。我正在尝试的是:
with open ('my_file.csv','rb') as f_obj:
reader=csv.reader(f_obj)
for f_row , s_row in zip(reader , reader[1:]):
do something
它也不适用于izip。提前谢谢。
答案 0 :(得分:1)
迭代器中的csv.reader
,因此它只能读取一次,然后就会耗尽。此外,迭代器不可索引,因此zip(reader , reader[1:])
不起作用。
我建议您使用itertools.tee
复制阅读器,在其中一个阅读器上跳过一行,然后zip
:
with open('my_file.csv') as f_obj:
reader1, reader2 = itertools.tee(csv.reader(f_obj))
next(reader2) # skip first line in reader2
for f_row , s_row in zip(reader1, reader2):
print f_row, s_row
对于在单独的行中包含数字1
到5
的输入文件,输出为
['1'] ['2']
['2'] ['3']
['3'] ['4']
['4'] ['5']