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

使用Python Pandas将文本文件转CSV时遇到utf-8解码错误如何解决

报错原因

'utf-8' codec can't decode byte 0xe9 是典型的编码不匹配错误:pd.read_csv()默认使用UTF-8编码读取文件,但你传入的Output Configured 3.txt实际存储编码不是UTF-8,0xe9字节不符合UTF-8的编码规则,导致读取流程直接中断,没有数据被加载到DataFrame中,最终导出的文件为空。

修复方案

核心修改是在读取文件时传入和文件实际编码匹配的encoding参数,按优先级尝试以下方案即可:

  • 若文件是国内Windows环境生成的中文文本,优先指定GBK编码,同时导出时建议用utf-8-sig编码避免Excel打开乱码,修改后完整代码:
import pandas as pd
  
account = pd.read_csv("Output Configured 3.txt",
                      delimiter = '/',
                      encoding='gbk')
  
account.to_csv('Output Configured 3.csv',
               index = None,
               encoding='utf-8-sig')
  • 若GBK编码仍报解码错误,尝试替换encoding参数值为cp1252,适配带西欧特殊字符的文本文件
  • 若无法确认文件编码,直接将encoding参数设为latin-1,该编码支持0-255全部单字节值,不会触发解码报错,可保证文件正常读取导出,仅可能在编码完全不匹配时出现个别特殊字符显示异常。
可选优化

如果需要精准匹配文件编码,可安装chardet库自动检测文件编码,检测代码如下:

import chardet

# 以二进制模式读取文件内容检测编码
with open("Output Configured 3.txt", "rb") as f:
    file_encoding = chardet.detect(f.read())["encoding"]

# 用检测到的编码读取文件即可
account = pd.read_csv("Output Configured 3.txt",
                      delimiter = '/',
                      encoding=file_encoding)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:09:18