用Python保存的CSV文件使用Excel打开乱码问题的解决方案

情况描述

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

问题起因

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

解决方案

如果只是想在Excel中正确打开乱码文件,可以不通过双击文件的方式打开文件, 而是新建一个空本Excel Worksheet, 在Excel中从菜单选项中选择 ‘Data’ -> ‘From csv/txt file’。

如果想从根源解决, 则在使用 pandas 保存文件的时候, 指定 encoding 为 utf_8_sig 而不是 utf_8。 解决方法参考 Github 帖子



  1. Byte-order Marker ↩︎

  2. 在 Excel 中正确打开 CSV UTF-8 文件 ↩︎

  3. CSV文件乱码的原因及解决方案详解 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值