【发布时间】:2021-03-26 23:21:51
【问题描述】:
我尝试使用 pandas.read_csv() 在 python 中读取带有 pandas 的 csv(来自 https://openwrt.org/_media/toh_dump_tab_separated.zip)。 问题是文件的编码。它不是 UTF-8,也不是 Latin1。而且我不想手动浏览所有编解码器 (https://docs.python.org/3/library/codecs.html#standard-encodings)。
解决方法是在 Libre Office 中打开文件,用“-”替换奇怪的字符,保存为 Latin1 并在 Python 中打开。
如何仅在 Python 中执行此操作?
以下代码和错误是我当前使用 UTF-8 的状态:
import pandas as pd
df = pd.read_csv('../../Downloads/toh_dump_tab_separated/ToH_dump_tab_separated.csv', encoding = 'utf-8')
(...)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbf in position 983: invalid start byte
和拉丁语1:
import pandas as pd
df = pd.read_csv('../../Downloads/toh_dump_tab_separated/ToH_dump_tab_separated.csv', encoding = 'Latin1')
(...)
ParserError:标记数据时出错。 C 错误:第 3 行中应有 1 个字段,但看到了 2
【问题讨论】:
-
编码似乎是
cp1252。