熊猫 - read_csv编码错误

时间:2018-01-15 20:16:56

标签: python pandas csv encoding

这个问题对我来说很常见。很常见,似乎我错过了一些东西(即,必须有更好的方法)。 SO上有多个专门针对此问题的帖子,但它们似乎是解决方法,而不是实际的解决方案。所以,我有一个CSV阅读:

df = pd.read_csv(filename.csv)

我收到以下错误

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 9: invalid continuation byte

解决方案使用cchardetchardetcchardet要快得多):

import cchardet as chardet
with open(filename.csv, 'rb') as f:
    result = chardet.detect(f.read())

df = pd.read_csv(filename.csv, encoding=result['encoding'])

这可行,但似乎不是一个长期解决方案,因为即使cchardet也无法保证找到正确的编码。 pd.read_csv中是否有猜测编码的选项?我宁愿在几个字符上失败,然后无法读取整个文件。关于频率,几乎每次我用CSV读取时都会出现这个问题,这会让pandas感觉有点脆弱。告诉我,我错过了什么。

0 个答案:

没有答案