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

技术求助:无法读取文本文件中的每个单词

解决读取文本文件中每个单词/词语的问题

嘿,我之前处理中文文本的时候也碰到过类似的读取和分词问题,结合你提供的文本内容,给你几个实用的解决方案:

1. 先搞定文件读取的基础问题

很多时候读不出内容或者读出来乱码,都是编码不匹配导致的——中文文件一定要指定正确的编码(比如最常用的utf-8):

with open("你的文本文件名.txt", "r", encoding="utf-8") as file:
    file_content = file.read()

要是不确定文件编码,可以用chardet库先检测:

import chardet

with open("你的文本文件名.txt", "rb") as file:
    result = chardet.detect(file.read())
print(result['encoding'])  # 拿到检测出的编码后,再用它打开文件

2. 提取文本中的单词/词语

你的文本是中文混英文的,要精准提取每个“有效单元”得分情况处理:

情况一:提取中文词语

中文没有天然的空格分隔,得用分词工具,比如国内常用的jieba库:

import jieba

# 先按正确编码读取文件内容
with open("你的文本文件名.txt", "r", encoding="utf-8") as file:
    content = file.read()

# 用精准模式分词,得到完整的词语列表
word_list = jieba.lcut(content)

# 过滤掉标点、空白字符和无意义的符号
cleaned_words = [word for word in word_list if word.strip() and word.strip() not in "。()[]“”,..."]

print(cleaned_words)

运行后会得到类似这样的结果:

['人工神经网络', 'ANNs', '或', '连接主义系统', '是', '受', '构成', '动物大脑', '的', '生物神经网络', '模糊', '启发', '的', '计算系统', '这类', '系统', '通过', '分析', '示例', '来', '学习', '即', '逐步', '提升', '任务', '性能', '通常', '无需', '针对', '特定', '任务', '编程', '例如', '在', '图像识别', '中', '它们', '可', '通过', '分析', '人工', '标记', '为', 'ca', '的', '示例', '图像', '来', '学习', '识别', '包含', '猫', '的', '图像']

情况二:提取英文单词

如果只需要抓文本里的英文单词,用正则表达式就够了:

import re

with open("你的文本文件名.txt", "r", encoding="utf-8") as file:
    content = file.read()

# 匹配所有英文单词(包括缩写形式)
english_words = re.findall(r'[A-Za-z]+', content)
print(english_words)  # 输出结果: ['ANNs', 'ca']

3. 常见问题排查

  • 要是读取时出现乱码:优先核对文件编码,确保和代码里指定的一致
  • 要是分词结果不准:可以给jieba添加自定义词典,或者切换成jieba.lcut_for_search模式(适合搜索场景的分词)
  • 要是文本有换行:上面的代码已经自动处理了,read()会读取整个文件的全部内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:47:35