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

Mac系统下用Pandas打开含日文CSV时遇UTF-8解码错误求助

解决Mac上Pandas读取日文CSV的UTF-8解码错误

嘿,我完全懂你遇到的麻烦!用utf8编码读带日文的CSV时报'utf-8' codec can't decode byte 0x96 in position 0,本质是这个CSV文件实际编码根本不是UTF-8——日文文件常用的编码是Shift-JIS、EUC-JP这类,和Windows/Mac平台无关,只是之前你找的方案没针对性提Mac上的检测方法而已。

给你几个一步步的解决办法,从简单到精准:

1. 先试日文常用编码

直接替换编码参数,先从最常见的Shift-JIS开始:

foo = pd.read_csv("filename.csv", encoding='shift_jis')

如果不行,再试EUC-JP:

foo = pd.read_csv("filename.csv", encoding='euc_jp')

这两个编码覆盖了绝大多数日文CSV的情况。

2. 用Mac终端精准检测编码

如果上面的方法都不行,直接用Mac自带的file命令查文件真实编码:
打开终端,输入:

file -I filename.csv

执行后会输出类似这样的结果:

filename.csv: text/plain; charset=shift_jis

把charset=后面的编码值直接填到pandas的encoding参数里就行,绝对精准。

3. 用工具自动检测编码(终极方案)

要是终端命令也搞不定,就用chardet库自动识别编码:
首先安装库:

pip install chardet

然后运行这段代码检测并读取:

import chardet
import pandas as pd

# 检测文件编码
with open("filename.csv", 'rb') as f:
    detect_result = chardet.detect(f.read())

# 用检测到的编码读取
foo = pd.read_csv("filename.csv", encoding=detect_result['encoding'])

这个库会分析文件字节给出最可能的编码,几乎不会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:57:47