Bry*_*ley 41
没有什么可以强迫你在循环中使用阅读器.只需阅读第一行,然后阅读第二行.
import csv
rdr = csv.reader(open("data.csv"))
line1 = rdr.next() # in Python 2, or next(rdr) in Python 3
line2 = rdr.next()
Run Code Online (Sandbox Code Playgroud)
如果你总是看着两条连续的线条,那么听起来就像你可能会因使用配对配方而受益.来自itertools模块:
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
Run Code Online (Sandbox Code Playgroud)
你会像这样使用它:
for first_dict, second_dict in pairwise(csv.DictReader(stream)):
# do stuff with first_dict and second_dict
Run Code Online (Sandbox Code Playgroud)
阅读CSV:
readCSV = csv.reader(csvFile, delimiter=',')
Run Code Online (Sandbox Code Playgroud)
阅读Python 2.7中的下一行:
row = readCSV.next()
Run Code Online (Sandbox Code Playgroud)
阅读Python 3.4中的下一行:
row = readCSV.__next__()
Run Code Online (Sandbox Code Playgroud)