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

Python 3读取CSV文件UTF-8编码转换失败问题求助

解决CSV读取时的编码乱码问题

你遇到的是双重编码导致的乱码——原文件里的内容是把原本UTF-8编码的文本误以Latin-1(或ISO-8859-1)解码后,又重新用UTF-8编码保存,直接用utf-8读取就会出现嵌套乱码。

给你两个可行的解决方法:

  • 直接指定编码读取
    试试用latin-1编码读取文件,这是最直接的方式:

    df = pd.read_csv('formula_e_race_results.csv', usecols=["driver"], encoding="latin-1")
    

    读取后应该就能得到正确的António Félix da Costa和Jérôme d'Ambrosio。

  • 手动修复已读取的乱码
    如果上面的方法没生效,先以utf-8读取,再对乱码字符串做编码还原:

    # 先读取得到乱码数据
    df = pd.read_csv('formula_e_race_results.csv', usecols=["driver"], encoding="utf-8")
    # 修复driver列的编码:转成latin-1字节再用utf-8解码
    df['driver'] = df['driver'].apply(lambda x: x.encode('latin-1').decode('utf-8'))
    

简单说下原因:正确的带重音字符比如ó,UTF-8编码是两个字节,要是被当成Latin-1解码就会变成两个奇怪的字符,再把这两个字符存成UTF-8就会出现你看到的多层乱码。反向操作就能把字符还原回原本的样子。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:06:26