我有两个文本文件:
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'编解码器不能解码位置2中的字节0x53:截断数据:
import pandas as pd
df1 = pd.read_csv("good.txt")
df2 = pd.read_csv("bad.txt", encoding="utf_16_le")
我已经尝试了我能找到的每个编解码器,但是不能让pandas读取bad.txt。我有很多这样的文件可以在自动化环境中阅读。两个问题:
是"错误"与bad.txt?生成文件的程序是否以某种方式错误处理文件?
如何将其读入熊猫df?如有必要,我可以用python代码转换文件吗?数据似乎很好,因为许多其他程序(文本编辑器,excel等)可以解释它,但我如何让大熊猫玩得很好?
答案 0 :(得分:1)
更新Pandas 0.20按照预期使用utf-16编解码器处理此文件。感谢那些看过它的人。