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

Python中使用Pandas写入CSV文件时日语字符乱码问题求助

解决Pandas写入CSV时日语字符乱码的问题

这个问题我之前也踩过坑!本质原因是Windows环境下的Excel默认不会自动识别无BOM的UTF-8编码,它会用系统默认的编码(比如GBK)去解析文件,把日语的UTF-8字节错误解码,就出现了你看到的乱码。

给你两个靠谱的解决方案:

方案一:使用带BOM的UTF-8编码(推荐)

直接把encoding='utf-8'改成encoding='utf-8-sig',这是带BOM标记的UTF-8格式,Excel能正确识别它,同时其他现代文本编辑器也能正常读取:

def write_csv(columns, data):
    df = pd.DataFrame(data, columns=columns)
    df.to_csv("..\\Report\\Report.csv", encoding='utf-8-sig')
write_csv(["法人番号", "法人名称", "法人名称カナ"], [])

方案二:使用Shift-JIS编码(兼容旧场景)

如果你的需求是要兼容只支持Shift-JIS的旧软件,可以指定编码为shift_jis,日语常用字符都能正常存储:

def write_csv(columns, data):
    df = pd.DataFrame(data, columns=columns)
    df.to_csv("..\\Report\\Report.csv", encoding='shift_jis')
write_csv(["法人番号", "法人名称", "法人名称カナ"], [])

注意:Shift-JIS对一些特殊字符(比如部分emoji)支持不好,如果你的数据里有这类内容,优先用方案一。

内容的提问来源于stack exchange,提问作者Vũ Minh Vương

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:21:41