You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac系统下Python写入CSV文件出现乱码问题求助

解决Mac版Microsoft Excel打开UTF-8 CSV乱码问题

问题根源

Mac版Microsoft Excel对不带BOM(字节顺序标记)的UTF-8 CSV文件兼容性差,Python默认用utf-8编码写入时不会添加BOM,导致Excel无法正确解析波斯文这类非ASCII字符。而控制台能正常显示,是因为终端默认支持无BOM的UTF-8编码。

解决方案

方法1:修改Python写入代码,使用带BOM的UTF-8编码

将文件编码从utf-8改为utf-8-sig,该编码会自动在文件开头添加UTF-8 BOM,让Excel正确识别编码。修改后的代码如下:

with open(filename, 'w', newline='', encoding='utf-8-sig') as csvfile: 
    # 创建CSV写入对象
    csvwriter = csv.writer(csvfile) 
        
    # 写入表头
    csvwriter.writerow(fields) 
        
    # 写入数据行
    csvwriter.writerows(rows)

方法2:手动为已生成的CSV添加BOM

如果已经生成了无BOM的CSV文件,可通过以下步骤修复:

  • 用Mac自带的TextEdit打开该CSV文件
  • 点击菜单栏「文件」→「存储为」
  • 在弹出窗口的右下角点击「选项」,选择编码为「UTF-8(带BOM)」
  • 保存后再用Microsoft Excel打开即可正常显示字符

内容的提问来源于stack exchange,提问作者Mahdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:37:40