Python 如何在CSV文件上每10行迭代一次

Python 如何在CSV文件上每10行迭代一次,python,csv,for-loop,Python,Csv,For Loop,我需要在for循环中每10行跳过一次,但执行readCSV[::10]将不起作用。使用迭代器跟踪索引 with open(example.csv') as csvfile: readCSV = csv.reader(csvfile, delimiter=',') for row in readCSV: Do something. with open('example.csv') as csvfile: readCSV = csv.reader(csvf

我需要在for循环中每10行跳过一次,但执行readCSV[::10]将不起作用。

使用迭代器跟踪索引

with open(example.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')

    for row in readCSV:
        Do something.
with open('example.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    for i, row in enumerate(readCSV):
        if i % 10 == 0:
            # do stuff with every 10th row

使用迭代器跟踪索引

with open('example.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    for i, row in enumerate(readCSV):
        if i % 10 == 0:
            # do stuff with every 10th row
您可以将此添加到

with open(example.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    i = 0
    for row in readCSV:
        if i%10 = 0:
            continue
        Do something.
        i += 1
您可以将此添加到

with open(example.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    i = 0
    for row in readCSV:
        if i%10 = 0:
            continue
        Do something.
        i += 1

这可以归结为对生成器中每10个元素进行迭代,这可以通过
itertools.islice

count = 0
for line in f:
    count+=1
    if count % 10 == 0: 
        print line

这相当于在生成器上切片一个列表(如
list[::10]
)。

这归结为对生成器中的每10个元素进行迭代,这可以通过
itertools.islice

count = 0
for line in f:
    count+=1
    if count % 10 == 0: 
        print line

这相当于在生成器上切片一个列表(如
list[::10]
)。

如果rowNum%10==0,则增加循环中的行数。。如果rowNum%10==0,则循环中的SkipIncrement行计数。。SkipUsing
enumerate
比手动保存计数器更清晰,更不容易出错。不熟悉
enumerate
但您需要第二个for循环吗?您可以只使用第一个for循环,比如enumerate(readCSV)中的i行
使用
enumerate
比手动保留计数器更清晰,更不容易出错。不熟悉
enumerate
但您需要第二个for循环吗?您可以只使用enumerate(readCSV)中的第一个for循环,比如i的
for行: