我有一个包含多个列的CSV文件。其中一列已损坏,编码错误。
名为title
的专栏有各种语言的字符:法语、意大利语等
num | ratio | title | ...
1 1.2 🥶2ï
2 2.5 djije
3 4.1 abc
... ... ...
当我尝试读取文件pandas.read_csv('myFile.csv')
时,我收到以下错误:
'utf-8' codec can't decode byte 0xcf in position 3: invalid continuation byte
如何使用pandas
读取csv文件,并将标题列留空,或者在无法读取时为其提供一些默认值
如果要单独排除列
title
,请读取所有列并删除列title
例如
要为列指定默认值,请使用:
或使用:
用空值填充列
希望这能回答你的问题
如果您的文件包含混合编码,您可以将其作为二进制读入内存,或者作为黑客,将其作为Latin-1打开,然后对每行上的Title字段进行单独解码
如果大部分数据编码为UTF-8,则可以尝试使用
但是,如果解码失败,请后退并用拉丁语-1保存,或者用某种错误消息替换它
我不是一个喜欢熊猫的人,但快速的谷歌搜索让我有点像
Latin-1具有唯一的属性,即每个输入字节都与具有相同值的Unicode代码点完全对应,因此您永远不会得到解码错误(但是,显然,mojibake如果正确的编码是其他编码,并且您无法纠正它)
相关问题 更多 >
编程相关推荐