我是python的新手,我有一个问题。我有几个文本文件,我想提取每个文件的结论部分 文本文件如下所示:
结果:在调整后的分析中,每小时PAC计数加倍与之相关
AF风险显着增加(风险比,1.17 [95%CI,1.13至1.22]
限制:本研究未建立PAC与AF之间的因果关系。
结论:在经过验证的AF风险算法中增加了PAC计数
优越的AF风险歧视,并显着改善风险重新分类。
需要进一步研究以确定PAC修改是否可以前瞻性
降低AF风险。
初级资助来源:美国心脏协会,约瑟夫溺水基金会和
美国国立卫生研究院。
我在同一个文件夹中有多个文件,如何对该文件夹中的所有文件执行相同的操作?
提前谢谢!
答案 0 :(得分:2)
我不擅长正则表达式,并且不太确定它是否是最佳方式,但它有效:)
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]
答案 1 :(得分:1)
您应该使用正则表达式来提取所需的数据:
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: '
标题,然后在此之后扫描数据,在下一个标题之后停止,该标题将始终是您指定的大写字词。
答案 2 :(得分:0)