【发布时间】:2018-07-18 03:43:06
【问题描述】:
我在读取带有来自原始源数据的 id 字段和混合 dtype 的 csv 时遇到问题,即 id 字段可以是 11、2R399004、BL327838、7 等,但其中绝大多数是 8 个字符长.
当我使用多个版本的 pd.read_csv 和 encoding='iso-8859-1' 阅读它时,它总是将 7 和 11 转换为 00000007 等。我尝试使用 utf-8,但出现以下错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc9 in position 40: unexpected end of data
我已尝试设置 dtype={'field': object} 和字符串以及 latin-1 等的各种迭代,但它会不断这样做。
有什么方法可以绕过这个错误,而不需要检查每个单独的文件并修复 dtypes?
【问题讨论】:
-
文件的编码是什么?如果使用
'iso-8859-1'导入,该字段的 dtype 是什么?当您说“pd.read_csv 的多个版本”时,您是什么意思? -
我们可以从您的 csv 文件中查看一些示例记录吗?
标签: python pandas csv encoding iso-8859-1