即使在为pandas指定编码时也存在错误的编码

2024-09-29 01:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个CSV文件,包含重音字符。我在打开PyCharm和Sublime时检查了编码,它是西方的:windows1252或ISO-8859-1。在

我从这个CSV创建一个pandas数据帧,然后对其进行修改,并将其导出到UTF-8文本文件中。我用PyCharm和Sublime文本检查导出的文件,不知道为什么导出的文件不是UTF-8格式的。在

这是我的代码:

dataset= pd.read_csv("my_file.csv", sep=";", encoding="ISO-8859-1")
print(dataset.loc[0, "my_col"])
>>> "s'il vous plaît"

# Export data
with open("out.txt"), "w", newline='') as f:
    dataset.to_csv(path_or_buf=f, sep="\t", header=False, index=False, encoding="utf-8")

打开时“顺序文件“对于PyCharm,它显示s'il vous pla�t,PyCharm告诉我文件的编码不是UTF-8。在


Tags: 文件csv编码myisodatasetilsep
1条回答
网友
1楼 · 发布于 2024-09-29 01:30:55

您使用默认编码在文本模式下编写file对象,这将使输出编码优先于并使方法to_csv中的encoding参数无效。在

你应该用下面这样的东西代替。在

# 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)

或者没有文件对象:

^{pr2}$

相关问题 更多 >