【发布时间】:2021-11-20 15:32:53
【问题描述】:
我有一个用于 ML 分类器的 CSV 数据集。它有 2 列,如下所示:
但是这个数据集非常脏,所以我决定用 Excel 打开它,删除“脏”字,然后将其保存为新的 CSV 文件并在其上训练我的 ML 分类器。
但是在我将它保存在 Excel 中之后(使用, 分隔符并尝试了, UTF-8),并且在尝试pd.read_csv 时,它给了我这个错误:
Error tokenizing data. C error: Expected 3 fields in line 4, saw 5
然后我尝试将sep=';' 与read_csv 一起使用,它成功了,但是现在所有的俄语字符都被替换为奇怪的符号:
有人可以解释一下如何修复俄罗斯字符中的“问题”符号吗? encoding='UTF-8' 给出这个错误:
'utf-8' codec can't decode byte 0xe6 in position 22: invalid continuation byte
这是第一个文件的样子(未修改 Excel .csv 文件):
当我打开第二个文件(修改)时:
【问题讨论】:
-
你能把 CSV 文件上传到 GitHub 或 Pastbin 或类似的地方吗?
-
@user17242583,是的,这里是 dropmefiles 数据集,dataset1 是第一个和修改后的数据集dropmefiles.com/ku24y
-
@user17242583,还添加了excel打开文件的照片
-
恐怕您在 Excel 中保存文件时会损坏文件。也许你保存它的编码太简单了,所以它会破坏文件。
-
@user17242583,天哪,编程真是太疯狂了。一周前或之后,我使用不同的保存方法 (,) 和 (UTF-8 with ,) 保存了 2 个文件,现在我刚刚使用 'read_csv' 和使用 (UTF-8 with ,) 保存的第二个文件并使用'编码='UTF-8'。它现在工作正常。哦,我的上帝 xDD 我很笨,还是谢谢你的帮助)
标签: python pandas dataframe csv character-encoding