Подтвердить что ты не робот

Python: пропустить строки комментариев, отмеченные # в csv.DictReader

Обработка CSV файлов с помощью csv.DictReader отличная - но у меня есть файлы CSV с строками комментариев (обозначается хешем в начале строки), для пример:

# step size=1.61853
val0,val1,val2,hybridisation,temp,smattr
0.206895,0.797923,0.202077,0.631199,0.368801,0.311052,0.688948,0.597237,0.402763
-169.32,1,1.61853,2.04069e-92,1,0.000906546,0.999093,0.241356,0.758644,0.202382
# adaptation finished

Модуль csv не включает какой-либо способ пропустить такие строки.

Я мог бы легко сделать что-то взломанное, но я предполагаю, что есть хороший способ обернуть csv.DicReader вокруг какого-то другого объекта итератора, который предварительно обрабатывает строки.

4b9b3361

Ответ 1

На самом деле это хорошо работает с filter:

import csv
fp = open('samples.csv')
rdr = csv.DictReader(filter(lambda row: row[0]!='#', fp))
for row in rdr:
    print(row)
fp.close()