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')
相关推荐
roman_日积跬步-终至千里几秒前
【Java多并发编程】CompletableFuture 使用指南(实战篇):从场景到优化
java·开发语言
crossaspeed2 分钟前
Java-List,Set,Map(八股)
java·开发语言·list
LawrenceLan2 分钟前
Flutter 零基础入门(十八):StatefulWidget 生命周期初识
开发语言·前端·flutter·dart
代码or搬砖3 分钟前
java并发编程
java·开发语言
小码hh7 分钟前
【PonitNet++】1. 从数据到方法:点云技术核心知识全景梳理
人工智能·pytorch·python
小李独爱秋8 分钟前
计算机网络经典问题透视:IP电话的通话质量与哪些因素有关?
服务器·开发语言·网络·网络协议·tcp/ip·计算机网络
BHXDML11 分钟前
第九章: STL 容器基础(C++)
开发语言·c++
董世昌4114 分钟前
什么是暂时性死区?
开发语言·前端·javascript
茉莉玫瑰花茶19 分钟前
C++11 扩展 - 模板元编程
开发语言·c++
白露与泡影22 分钟前
SpringBoot + Vue 实现 Python 在线调试器 - 技术方案文档
vue.js·spring boot·python