Это будет читать файл по одной строке за один раз, и писать только строки 5, 10, 15, 20 ...
import csv
count = 0
# open files and handle headers
with open('input.csv') as infile:
with open('ouput.csv', 'w') as outfile:
reader = csv.DictReader(infile)
writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames)
writer.writeheader()
# iterate through file and write only every 5th row
for row in reader:
count += 1
if not count % 5:
writer.writerow(row)
(работа с Python 2 и 3)
Если вы» d предпочитает начинать с строкой данных # 1, чтобы записать строки 1, 6, 11, 16 ... в верхней смене:
count = -1
«если столбцы не доступны» true, только если в CSV нет многострочных полей. У вас может быть законное поле «строка 1 \ nline 2», которое должно быть единственным полем на выходе. – dawg