Как получить номер текущей строки, при чтении CSV функцией DictReader?

Доброго дня, господа.

Требуется помощь в таком вопросе. Читаю CSV файл функцией DictReader, попутно проверяя, что каждый полученный словарь не содержит None:
with open(data_file, 'r') as csv_file:
csv_data = DictReader(csv_file, delimiter=';')
    for row in csv_data:
         if None not in row.values():
                <обработка словаря>
            else:
                <Пишем в лог>

И в случае, если в полученном словаре встречается None, я хочу писать в лог номер строки, где None встретился.
Можно это как-то получить эту информацию из текущего цикла for?
  • Вопрос задан
  • 189 просмотров
Решения вопроса 1
asand3r
@asand3r Автор вопроса
Хочу закрыть вопрос, но не могу выбрать "ответом" коммент. Решил просто через счетчик строк (начинаю с 1, т.к. 0 - header):
with open(data_file, 'r') as data_file:
    csv_data = DictReader(data_file, delimiter=';')
    line_num = 1
    for row in csv_data:
        if None not in row.values():
            <do something>
            line_num += 1
        else:
            <write log with {line_num}>

С enumerate() так и не добился нужного результата.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы