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

如何使用Python读取文本文件,提取Keywords至Abstract间的关键词到列表?

解决Python文本文件中关键词提取的问题

这是个很典型的文本解析场景,我来分享下我常用的实现思路和代码,完全符合你的需求:

实现步骤拆解

  • 第一步:读取文件内容
    用Python的with open上下文管理器读取,既安全又能自动关闭文件,避免资源泄漏。
  • 第二步:定位关键词所在的文本段
    我们需要把Keywords之后、Abstract之前的那段文本单独拎出来——用字符串的split方法就能轻松实现,先按Keywords分割取后半部分,再按Abstract分割取前半部分。
  • 第三步:拆分关键词
    因为分隔符是逗号(,)和分号(;)的组合,用正则表达式的re.split来匹配这两种符号是最灵活的方式,能处理任意组合的分隔情况。
  • 第四步:清洗数据
    拆分后可能会有多余的空格或者空字符串(比如连续分隔符的情况),用strip()去除空格,再过滤掉空元素就得到干净的列表了。

完整代码示例

import re

def extract_keywords(file_path):
    # 读取文件内容
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    # 定位Keywords到Abstract之间的文本
    try:
        # 先拆分出Keywords之后的内容
        after_keywords = content.split('Keywords')[1]
        # 再拆分出Abstract之前的内容
        keyword_text = after_keywords.split('Abstract')[0].strip()
    except IndexError:
        # 如果Keywords或Abstract不存在,返回空列表
        return []
    
    # 用正则拆分关键词,匹配逗号或分号
    raw_keywords = re.split(r'[;,]', keyword_text)
    
    # 清洗数据:去空格+过滤空字符串
    cleaned_keywords = [key.strip() for key in raw_keywords if key.strip()]
    
    return cleaned_keywords

# 调用示例
keywords_list = extract_keywords('your_file.txt')
print(keywords_list)  # 输出: ["key1", "key2", "key3", "key4"]

额外说明

  • 代码里加了try-except块,用来处理文件中没有Keywords或Abstract的情况,避免程序崩溃;
  • 正则表达式r'[;,]'表示匹配逗号或分号中的任意一个,不管它们怎么组合都能正确拆分;
  • 最后列表推导式的清洗步骤很重要,能处理比如key1; key2,,key3这种带多余空格或连续分隔符的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:14:37