@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.