首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文本中摘取某些段落

从文本中摘取某些段落
EN

Stack Overflow用户
提问于 2014-03-19 18:54:13
回答 3查看 4.9K关注 0票数 0

我对蟒蛇不熟悉,我有个问题。我有几个文本文件,我想提取每个文件的结论部分。

文本文件如下所示:

结果:在调整后的分析中,每小时PAC计数增加一倍,AF风险显著增加(风险比1.17 95% CI,1.13至1.22 )。

局限性:这项研究没有建立PACs和AF之间的因果关系。

结论:在有效的AF风险算法中加入PAC计数提供了更好的AF风险识别,并显著改善了风险再分类。需要进一步的研究,以确定PAC修饰是否可以前瞻性地降低AF的风险。

主要资金来源:美国心脏协会、约瑟夫溺水基金会和美国国立卫生研究院。

我在同一个文件夹中有多个文件,如何处理这个文件夹中的所有文件?

提前谢谢你!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-19 19:12:53

我不擅长regex,也不太确定这是否是最好的方法,但它有效:)

代码语言:javascript
复制
import os
import re
path = 'path/to/your/files/'
for i in os.listdir(path):
    with open(path+i) as f:
        content = f.read()
        pattern = re.compile('CONCLUSION:\s*([\s\w.]*)\n[A-Z\s]*:')
        print pattern.findall(content)[0]
票数 2
EN

Stack Overflow用户

发布于 2014-03-19 19:28:23

您应该使用正则表达式提取所需的数据:

代码语言:javascript
复制
import re
import os, os.path

PATH = 'path/to/your/files/'

conclusions = []
for file in os.listdir(path):
    with open(os.path.join(PATH, file)) as f:
        data = f.read()

    conclusion = re.search('CONCLUSION: (.*?)([A-Z]{2,})', data).group(1)
    conclusions.append(conclusion)

这将查找'CONCLUSION: '头,然后扫描之后的数据,在下一个标题之后停止,这将始终是您指定的大写单词。

票数 1
EN

Stack Overflow用户

发布于 2014-03-19 19:02:33

This将帮助您列出目录中的所有文件。

那么对于每一个文件,

  1. 遍历所有的线
  2. 看看当前行是否以结论开头:
  3. 在该行上执行一个子字符串,以获得单词结论之后的所有内容:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22515564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档