python - pandas read_csv 中的编解码器问题

标签 python pandas codec

我有两个文本文件:

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。我有很多这样的文件可以在自动上下文中阅读。两个问题:

  1. bad.txt 是否有“问题”?生成文件的程序是否以某种方式错误处理该文件?

  2. 如何将其读入 pandas df?如果需要的话,我可以用python代码转换文件吗?数据似乎很好,因为许多其他程序(文本编辑器、Excel 等)都可以解释它,但如何让 pandas 很好地发挥作用?

最佳答案

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

关于python - pandas read_csv 中的编解码器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45272443/

相关文章:

python - 如何编写一个git hook来限制写入分支?

c++ - QuickTime - AVID、ITU-R 601 (16-235) 选项

python - 卷积网络的 Keras 参数

python - 简单的函数调用在 Robot Framework 中不起作用

python - 从 if else 语句创建新列

python - Pandas groupby 添加带有交叉引用的行

android - 将录音编码和解码为 G711 ( PCMU - uLaw) 格式

iphone - 如何对在iPhone上录制的IMA4 ADPCM音频文件进行转码?

python - 将缺失的月份添加到具有空值的数据框中

python - 使用 pandas 按第 n 周对列表项进行分组