我想从 10,000 篇文章中提取包含药物和基因名称的句子。我的代码是
import re
import glob
import fnmatch
import nltk
from nltk.tokenize import sent_tokenize, word_tokenize
flist= glob.glob ("C:/Users/Emma Belladona/Desktop/drug working/*.txt")
print (flist)
for txt in flist:
#print (txt)
fr = open (txt, "r")
tmp = fr.read().strip()
a = (sent_tokenize(tmp))
b = (word_tokenize(tmp))
for c, value in enumerate(a, 1):
if value.find("SLC22A1") != -1 and value.find("Metformin"):
print ("Result", value)
re.findall("\w+\s?[gene]+", a)
else:
if value.find("Metformin") != -1 and value.find("SLC22A1"):
print ("Results", value)
if value.find("SLC29B2") != -1 and value.find("Metformin"):
print ("Result", value)
我想从整篇文章中提取具有基因和药物名称的句子。例如“二甲双胍降低对数转换的 SLC22A1 排泄(从 1.5860.47 到 1.0060.52,p=0.001)。” “总之,在这项控制良好的研究中,我们无法证明 SLC22A1、ACE、AGTR1 和 ADD1 的研究多态性与对二甲双胍的抗糖尿病反应之间存在显着关联。”
这段代码返回了很多句子,即如果上面的一个词进入了被打印出来的句子......!帮我为此编写代码