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')
相关推荐
郑洁文17 分钟前
基于Python的网络入侵检测系统
网络·python·php
AIMath~22 分钟前
python中的uv命令揭秘
开发语言·python·uv
弹简特25 分钟前
【零基础学Python】06-Python模块和包、异常处理、文件常用操作
开发语言·python
x***r15127 分钟前
Postman-win64-7.2.2-Setup安装步骤详解(附API接口测试与参数配置教程)
开发语言·lua
念恒1230635 分钟前
Python 面向对象编程核心:对象、实例化、封装与变量作用域
开发语言·python
薛定谔的悦39 分钟前
光伏-储能-负荷联合预测:给 EMS 装上“预知能力“
java·数据库·人工智能·python·储能
大菜菜小个子39 分钟前
template<typename T>使用
java·开发语言·算法
L_090743 分钟前
【C++】C++11 新特性
开发语言·c++
方也_arkling1 小时前
【Java-Day15】API篇-ArrayList集合
java·开发语言
我是一颗柠檬1 小时前
【Java后端技术亮点】动态路由权限(按钮级权限),细粒度控制到按钮级别
java·开发语言·后端·状态模式