#python #pandas
#python #pandas
Вопрос:
Я пытаюсь прочитать файл tsv (один из многих), но он выдает мне следующую ошибку.
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa5 in position 113: invalid start byte
До этого я читал похожие другие файлы, используя тот же код.
df = pd.read_csv(fname,sep='t',error_bad_lines=False)
Но для этого конкретного случая я получаю сообщение об ошибке.
Как я могу прочитать этот файл? Надеюсь, без пропуска каких-либо данных.
Комментарии:
1. Это помогло бы увидеть пример ваших данных — не могли бы вы добавить некоторые примерные данные к вашему вопросу, которые повторяют вашу ошибку?
2. @bm13563, как / куда я могу загрузить файл данных?
3. @AlhpaDelta Вы могли бы просто опубликовать несколько строк данных, которые вы пытаетесь прочитать. Вы, вероятно, можете открыть его как txt, нет?
Ответ №1:
Было бы предложено проверить, какая кодировка у вас на самом деле есть. Сделайте это так:
with open('filename.tsv) as f: ### or whatever your etension is
print(f)
из этого вы получите кодировку. Затем,
df=pd.read_csv(‘filename.tsv’, encoding=»возвращенная кодировка»)
Было бы неплохо, если бы вы могли опубликовать удержание 113 вашего набора данных, где произошло первое появление ошибки.
Комментарии:
1. он сказал encoding = ‘cp1252’. Интересно, в чем разница, из-за которой он взрывается. и есть ли способ учитывать разные кодировки без необходимости специально проверять.