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')
相关推荐
源代码•宸3 小时前
分布式缓存-GO(分布式算法之一致性哈希、缓存对外服务化)
开发语言·经验分享·分布式·后端·算法·缓存·golang
我送炭你添花3 小时前
Pelco KBD300A 模拟器:03.Pelco-P 协议 8 字节完整拆解 + 与 Pelco-D 一一对应终极对照表
python·测试工具·运维开发
云和数据.ChenGuang3 小时前
PHP-FPM返回的File not found.”的本质
开发语言·php·运维工程师·运维技术
R.lin3 小时前
Java 8日期时间API完全指南
java·开发语言·python
yangpipi-4 小时前
《C++并发编程实战》 第4章 并发操作的同步
开发语言·c++
西南胶带の池上桜4 小时前
1.Pytorch模型应用(线性与非线性预测)
人工智能·pytorch·python
火钳游侠4 小时前
java单行注释,多行注释,文档注释
java·开发语言
有趣的我4 小时前
C++ 多态介绍
开发语言·c++
fie88895 小时前
波束赋形MATLAB代码实现
开发语言·matlab
丘狸尾5 小时前
gradio uv无法add
开发语言·python