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')
相关推荐
lightqjx11 分钟前
【C++】C++11 - Lambda表达式+包装器
开发语言·c++·c++11·lambda·包装器
geovindu14 分钟前
python: State Pattern
python·状态模式
BHXDML15 分钟前
操作系统实验:(七)动态分区分配方式的模拟
开发语言·数据库·操作系统
重生之后端学习23 分钟前
208. 实现 Trie (前缀树)
java·开发语言·数据结构·算法·职场和发展·深度优先
清水白石00827 分钟前
从频繁“握手”到高效通行:Python 数据库连接池深度解析与调优实战
开发语言·数据库·python
我命由我1234529 分钟前
C++ EasyX 开发,MessageBox 函数参数问题:“const char *“ 类型的实参与 “LPCWSTR“ 类型的形参不兼容
c语言·开发语言·c++·后端·学习·visualstudio·visual studio
雪碧聊技术31 分钟前
生成器是什么?有什么用?
python·生成器·yield
shehuiyuelaiyuehao33 分钟前
关于hashset和hashmap,还有treeset和treemap,四个的关系
java·开发语言
岱宗夫up34 分钟前
FastAPI进阶3:云原生架构与DevOps最佳实践
前端·python·云原生·架构·前端框架·fastapi·devops
only-qi36 分钟前
Java 包装器模式:告别“类爆炸“
java·开发语言