Я написал функцию, которая принимает одну переменную, file
, которая является большим .csv
документом.Я получаю следующую ошибку сразу после вызова функции для одного конкретного файла (файл на немецком языке):
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe4 in position 4: invalid continuation byte
Кодировка системы по умолчанию utf-8
, но если я open('C:/Users/me/Desktop/data/myfile.csv')
, вывод:
<_io.TextIOWrapper name='C:/Users/me/Desktop/data/myfile.csv' mode='r' encoding='cp1252'>
.
Использование file.decode('cp1252').encode('utf8')
не работает с 'str' object has no attribute 'decode'
, поэтому я попытался:
for decodedLine in open('C:/Users/me/Desktop/data/myfile.csv', 'r', encoding='cp1252'):
line = decodedLine.split('\t')
, ноline
является объектом списка, и я не могу .encode()
его.
Как я могу сделать .csv
файлы с другой кодировкой для чтения?