pandas read_csv 中的编解码器问题

Codec issues in pandas read_csv

我有两个文本文件:

https://www.dropbox.com/s/idk7k5qv2mp3d4p/bad.txt?dl=0 https://www.dropbox.com/s/x27fngacngaglyy/good.txt?dl=0

十六进制编辑器显示 bad.txt 开始:"FF FE 53 00 79" 并且 Notepad++ 报告该文件是 UCS-2 LE BOM。我相信 utf_16_le 应该对此进行解码,但是以下代码错误与 UnicodeDecodeError: 'utf-16-le' codec can't decode byte 0x53 in position 2: truncated data:

import pandas as pd

df1 = pd.read_csv("good.txt")
df2 = pd.read_csv("bad.txt", encoding="utf_16_le")

我已经尝试了我能找到的所有编解码器,但无法让 pandas 读取 bad.txt。我有很多这样的文件可以在自动上下文中读取。两个问题:

  1. "wrong" 和 bad.txt 有关系吗?生成文件的程序是否以某种方式错误处理了文件?

  2. 如何将其读入 pandas df?如果需要,我可以用 python 代码转换文件吗?数据似乎没有问题,因为许多其他程序(文本编辑器、excel 等)都可以解释它,但我如何让 pandas 正常播放?

更新 Pandas 0.20 按预期使用 utf-16 编解码器处理此文件。谢谢看过的人