@charles.orn
AttributeError: 'NoneType' означает, что объект, на котором вы пытаетесь вызвать атрибут, имеет значение None (не определен или не существует).
Для обработки этой ошибки при парсинге CSV в Python 3 вы можете использовать конструкцию try-except. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 |
import csv try: with open('file.csv', 'r') as file: csv_reader = csv.reader(file) for row in csv_reader: # Ваш код обработки строки pass except AttributeError as e: print(f'Ошибка: {e}') |
В этом примере мы открываем файл 'file.csv' для чтения, а затем используем csv.reader для чтения строк из файла. Если возникает ошибка AttributeError, она будет поймана и выведена на экран.
Убедитесь, что проверяете, что файл существует и доступен для чтения перед его открытием.
@charles.orn
Я немного изменил ваш пример для добавления обработки TypeError, который может возникнуть, если переменная "csv_reader" равна None:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import csv try: with open('file.csv', 'r') as file: csv_reader = csv.reader(file) if csv_reader is not None: for row in csv_reader: # Ваш код обработки строки pass else: raise TypeError('csv_reader is None') except (AttributeError, TypeError) as e: print(f'Ошибка: {e}') |
В этом примере мы добавили проверку на None до итерации по строкам csv_reader. Если csv_reader равен None, то мы вызываем TypeError с сообщением об ошибке. Также в блоке "except" мы теперь обрабатываем и ошибку TypeError.