将包含汉字的熊猫数据框保存到文件

Yil*_*ang 3 python special-characters dataframe pandas

我有一个熊猫数据框,其中某些字段包含汉字。我使用以下代码:

df = pd.read_csv('original.csv', encoding='utf-8')
df.to_csv('saved.csv')
Run Code Online (Sandbox Code Playgroud)

然后,我使用excel或文本编辑器打开saved.csv。所有汉字都变成垃圾字符。但是,我能够加载已保存的文件并正确显示中文,如下所示。

df = pd.read_csv('saved.csv')
df.head() # Chinese characters are properly displayed.
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决问题吗?

小智 7

请尝试以下操作:

df = pd.read_csv('original.csv', encoding='utf-8')   
df.to_csv('saved.csv', encoding='utf_8_sig')
Run Code Online (Sandbox Code Playgroud)

utf-8失败时对我有用


Yil*_*ang 3

问题出在excel的编码上。

为了解决这个问题,我首先使用 sublime 打开 csv,然后文件 -> 使用编码保存 -> 带 BOM(字节顺序标记)的 UTF-8。

现在excel可以毫无问题地打开csv了!