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

如何从文本提取指定关键词内容并存入指定列的pandas DataFrame?

提取医学报告字段并生成Pandas DataFrame

核心处理逻辑

针对这类按「字段名: 内容」格式编排的文本,用正则表达式精准匹配每个目标字段的内容——匹配规则为:捕获字段名后的文本,直到下一个目标字段出现或文本结束。

代码实现(含中文翻译适配)

import pandas as pd
import re

# 清理后的示例报告文本
report_text = 'FINAL REPORT EXAMINATION: CHEST PA AND LAT INDICATION: F with new onset ascites eval for infection TECHNIQUE: Chest PA and lateral COMPARISON: None FINDINGS: There is no focal consolidation pleural effusion or pneumothorax Bilateral nodular opacities that most likely represent nipple shadows The cardiomediastinal silhouette is normal Clips project over the left lung potentially within the breast The imaged upper abdomen is unremarkable Chronic deformity of the posterior left sixth and seventh ribs are noted IMPRESSION: No acute cardiopulmonary process'

# 定义目标字段列表
target_fields = ['EXAMINATION', 'TECHNIQUE', 'COMPARISON', 'FINDINGS', 'IMPRESSION']

# 构建正则匹配模式:匹配每个字段对应的内容,直到下一个字段或文本结束
pattern = '|'.join([f'({field}):(.*?)(?={next_field}:|$)' for field, next_field in zip(target_fields, target_fields[1:] + [''])])
matches = re.findall(pattern, report_text, re.DOTALL)

# 整理提取结果为字典
extracted_data = {}
for match in matches:
    for i in range(0, len(match), 2):
        field = match[i]
        content = match[i+1].strip()
        extracted_data[field] = [content]

# 生成英文DataFrame
df_en = pd.DataFrame(extracted_data)

# 生成中文翻译版DataFrame(针对示例文本的精准翻译)
df_cn = df_en.copy()
df_cn.columns = ['检查项目', '检查技术', '对比参考', '检查所见', '诊断印象']
df_cn['检查项目'] = '胸部正侧位片'
df_cn['检查技术'] = '胸部正侧位摄影'
df_cn['对比参考'] = '无'
df_cn['检查所见'] = '未见局灶性实变、胸腔积液或气胸;双侧结节状阴影,极可能为乳头影;心纵隔轮廓正常;左侧肺野可见金属夹影,可能位于乳腺内;所显示的上腹部未见异常;左侧第6、7后肋可见慢性畸形'
df_cn['诊断印象'] = '无急性心肺病变'

# 输出结果
print("英文结果:")
print(df_en)
print("\n中文翻译结果:")
print(df_cn)

关键说明

  • 正则模式中的re.DOTALL参数支持跨行匹配,即使你的原始文本存在换行也能正常提取。
  • 提取逻辑无需依赖固定文本长度,只要字段名格式统一,就能适配不同长度的报告内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:01:51