如何使用 pd.read_csv 和 pd.to_csv 标准化来自不同网络源的正确编码?

How do I standardize correct encoding from differnets sources with pd.read_csv and pd.to_csv?

提问人:user202135 提问时间:7/23/2023 更新时间:7/23/2023 访问量:29

问:

“我使用熊猫读取来自不同来源的文件。目前,我正面临葡萄牙语单词“Assembléia”的问题。当我用“utf-8”编码阅读这个词并将其保存在 DataFrame 中时,一切正常。但是,当我将其导出到 CSV 时,单词会更改为“assembléia”。我该怎么办?我尝试将编码更改为“latin1”,效果很好。但是现在,当我尝试使用'latin1'对另一个文件进行编码时,代码会抛出UnicodeEncodeError。

这是 latin1 的示例


data = {'Palavra': ['assembléia']}

df = pd.DataFrame(data)

nome_arquivo_csv = r'C:\Users\user\OneDrive\Documents\cv - general\palavra_assembleia.csv'
df.to_csv(nome_arquivo_csv, index=False)

在此示例中,CSV 文件显示单词“assembléia”,而不是预期的“Assembléia”。问题很可能

有没有办法标准化文件的所有编码?

PANDAS 编码 UTF-8 ISO-8859-1

评论

0赞 JosefZ 7/23/2023
你面临一个 mojibake 案例:返回 .输出文件是使用编码正确写入的。你如何阅读看到 mojibake 的文件?'assembléia'.encode( 'utf-8').decode( 'cp1252')'assembléia'UTF-8

答:

0赞 gtomer 7/23/2023 #1

尝试:

df.to_csv(nome_arquivo_csv, index=False, encoding='utf-8')

评论

0赞 user202135 7/23/2023
不起作用...out 保持组装©
0赞 Mark Tolonen 7/23/2023
@user202135 问题在于用于查看 CSV 的工具,而不是 Python。文件写入正确。查看器正在使用错误的编码读取文件。某些查看器(如 Excel)需要编码,这会将前缀写入文件以提示应使用 UTF8 对文件进行解码utf-8-sig