У меня есть разделенный запятыми файл .txt
с французскими символами, такими как Vétérinaire
и Désinfectant
.
import pandas as pd
df = pd.read_csv('somefile.txt', sep=',', header=None, encoding='utf-8')
[Decode error - output not utf-8]
Я прочитал много постов вопросов и ответов (включая this ) и пробовал много разных кодировок, таких как 'latin1
' и 'utf-16
', они не работали.Однако я попытался запустить точно такой же сценарий на другом компьютере Windows 10 с аналогичной настройкой Python (все версии Python 3.6), он отлично работает на другом компьютере.
Редактировать: я пытался this .Использование encoding='cp1252'
помогает для некоторых файлов .txt
, которые я хочу импортировать, но для нескольких файлов .txt
это приводит к следующей ошибке.
File "C:\Program_Files_Extra\Anaconda3\lib\encodings\cp1252.py", line 15, in decode
return codecs.charmap_decode(input,errors,decoding_table)
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 25: character maps to <undefined>
Редактировать: Попытка определить кодировку из chardet
import chardet
import pandas as pd
test_txt = 'somefile.txt'
rawdata = open(test_txt, 'rb').read()
result = chardet.detect(rawdata)
charenc = result['encoding']
print (charenc)
df = pd.read_csv(test_txt, sep=',', header=None, encoding=charenc)
print (df.head())
utf-8
[Decode error - output not utf-8]