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

Python写入含变音字符的CSV在Excel中显示异常如何解决?

解决Excel打开UTF-8 CSV文件变音字符乱码的问题

问题原因

Excel直接打开CSV文件时,默认不会自动识别UTF-8编码(除非文件带有UTF-8 BOM头),Windows环境下通常会用系统默认编码(如GBK)解析,导致ä、ö、ü这类变音字符出现乱码。

解决方案

方案1:修改Python代码,写入带BOM的UTF-8文件

将文件编码从utf-8改为utf-8-sig,Python会自动在文件开头添加UTF-8 BOM,Excel能识别这个标识并正确用UTF-8解析内容。

修改后的代码:

import csv
import os
import sys
data = [["äwien", "öbgld", "üktn", "noe", "ooe", "sbg", "stmk", "tirol", "vbg"]]
path = os.path.abspath(os.path.dirname(sys.argv[0])) 
fn = os.path.join(path, "test.csv")
# 使用utf-8-sig编码添加BOM
with open(fn, 'w', newline='', encoding="utf-8-sig") as f:
  writer = csv.writer(f, delimiter=";")
  writer.writerows(data)

方案2:手动用Excel导入CSV文件

如果不想修改代码,可通过Excel的导入功能指定编码:

  • 打开Excel,切换到「数据」选项卡
  • 点击「自文本/CSV」,选择目标CSV文件
  • 在导入窗口中,设置「文件原始格式」为「65001: UTF-8」
  • 确认分隔符为分号(;),完成导入即可正常显示变音字符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:03:15