Be *_*Too 2 python encoding pandas
我有一个包含重音字符的 CSV 文件。我在使用 PyCharm 和 Sublime 打开时检查了编码,它是西方的:Windows 1252 或 ISO-8859-1。
\n\n我从此 CSV 创建一个 pandas 数据框,然后修改它,并将其导出到 UTF-8 文本文件。我用 PyCharm 和 Sublime Text 检查导出的文件,我不知道为什么导出的文件不是 UTF-8。
\n\n这是我的代码:
\n\ndataset= pd.read_csv("my_file.csv", sep=";", encoding="ISO-8859-1")\nprint(dataset.loc[0, "my_col"])\n>>> "s\'il vous pla\xc3\xaet"\n\n# Export data\nwith open("out.txt"), "w", newline=\'\') as f:\n dataset.to_csv(path_or_buf=f, sep="\\t", header=False, index=False, encoding="utf-8")\nRun Code Online (Sandbox Code Playgroud)\n\n当用PyCharm打开“out.txt”时,它显示s\'il vous pla\xef\xbf\xbdt,PyCharm告诉我文件的编码不是UTF-8。
您正在使用默认编码以文本模式写入文件对象,这会优先考虑输出编码并使encoding方法中的参数to_csv无用。
您应该使用类似下面的内容。
# Export data
with open("out.txt", "w", newline='', encoding="utf-8") as f:
dataset.to_csv(path_or_buf=f, sep="\t", header=False, index=False)
Run Code Online (Sandbox Code Playgroud)
或者没有文件对象:
# Export data
dataset.to_csv(path_or_buf="out.txt", sep="\t", header=False, index=False, encoding="utf-8")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1778 次 |
| 最近记录: |