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

使用load_dataset加载txt数据集时遇UnicodeDecodeError求助

解决load_dataset加载txt文件时的UnicodeDecodeError问题

你的错误根源是txt文件编码不是默认的UTF-8,错误信息里的0x92字节是Windows-1252编码中的单引号字符,无法被UTF-8解码器识别,进而触发了DatasetGenerationError。

以下是几种可行的解决方法:

1. 直接指定文件编码加载

在load_dataset中通过encoding参数指定文件的实际编码,优先尝试Windows-1252:

from datasets import load_dataset

path = r'myfile.txt'
test = load_dataset("text", data_files=path, encoding="Windows-1252")

如果Windows-1252不生效,可以尝试gbk、cp1252等常见编码。

2. 检测文件的实际编码

如果不确定文件编码,使用chardet库检测:
首先安装依赖:

pip install chardet

然后执行检测代码:

import chardet

with open(path, 'rb') as f:
    encoding_result = chardet.detect(f.read())
print(encoding_result['encoding'])  # 输出检测到的编码

将检测结果填入load_dataset的encoding参数即可。

3. 转换文件为UTF-8编码

如果希望一劳永逸,将文件转换为UTF-8格式:

with open(path, 'r', encoding='Windows-1252') as src_file:
    content = src_file.read()
with open('myfile_utf8.txt', 'w', encoding='utf-8') as dst_file:
    dst_file.write(content)

之后加载转换后的myfile_utf8.txt就不会出现编码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 05:40:34