Python保存CSV文件,Excel打开后中文乱码

情况描述

在做多语言文件处理时, 使用 pandas, 并且指定了encoding为 UTF-8, 在 IDE, Sublime等编辑器上查看都显示正常,使用Excel打开非英文字符, 例如汉字, 阿拉伯文, 希伯来文等显示乱码。

问题起因

Excel 对于非BOM (字节顺序标记)1 保存的CSV文件默认采取ASNI编码 23, pandas 默认的保存方式并没有在文件头加上 (0xEF, 0xBB, 0xBF) or \ufeff 。

解决方案

使用 pandas 保存文件的时候, 指定 encoding 为 utf_8_sig 而不是 utf_8

复制代码
df.to_csv(data_out, index=False ,encoding='utf-8-sig')
相关推荐
wuk9982 分钟前
matlab为地图进行四色着色
开发语言·matlab
_MyFavorite_2 分钟前
cl报错+安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
charlie1145141913 分钟前
现代嵌入式C++教程:C++98——从C向C++的演化(2)
c语言·开发语言·c++·学习·嵌入式·教程·现代c++
zmzb01037 分钟前
C++课后习题训练记录Day55
开发语言·c++
李白同学10 分钟前
C++:继承
开发语言·c++
k***921611 分钟前
【C++】STL详解(九)—priority_queue的使用与模拟实现
开发语言·c++
速易达网络23 分钟前
基于Java TCP 聊天室
java·开发语言·tcp/ip
Hard but lovely43 分钟前
C++11: 自定义异常&&标准异常体系&&回顾c异常处理方式
开发语言·c++
爱笑的眼睛111 小时前
超越 `cross_val_score`:深度解析Scikit-learn交叉验证API的架构、技巧与陷阱
java·人工智能·python·ai
六bring个六1 小时前
文件压缩处理(一)
开发语言·c#