我有一个包含重音字符的 CSV 文件。我用PyCharm和Sublime打开时检查了编码,它是西方的:Windows 1252或ISO-8859-1。
我从此 CSV 创建一个 pandas 数据框,然后修改它,并将其导出到 UTF-8 文本文件。我用PyCharm和Sublime Text检查导出的文件,我不知道为什么导出的文件不是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打开“out.txt”时,它显示s'il vous pla�t
,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)
或者没有文件对象:
# Export data
dataset.to_csv(path_or_buf="out.txt", sep="\t", header=False, index=False, encoding="utf-8")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)