我正在尝试浏览一个句子文件并在这些句子中逐行提取大写字母。
这是我正在处理的数据文件:
the dog_SUBJ bit_VERB the cat_OBJ
the man_SUBJ ran_VERB
the cat_SUBJ ate_VERB the cheese_OBJ
本质上,我希望程序为每一行输出“SUBJ”、“VERB”和“OBJ”。但是,对于我现在正在处理的脚本的每一行,输出是文件中每一行的所有大写字母,而不仅仅是该行中的大写字母。
这是我现在得到的输出:
第 0 行:the dog_SUBJ bit_VERB the cat_OBJ
['SUBJ', 'VERB', 'OBJ', 'SUBJ', 'VERB', 'SUBJ', 'VERB', 'OBJ']
第 1 行:the man_SUBJ ran_VERB
['SUBJ', 'VERB', 'OBJ', 'SUBJ', 'VERB', 'SUBJ', 'VERB', 'OBJ']
第 2 行:the cat_SUBJ ate_VERB the cheese_OBJ
['SUBJ', 'VERB', 'OBJ', 'SUBJ', 'VERB', 'SUBJ', 'VERB', 'OBJ']
例如,我希望程序输出第 0 行,'SUBJ','VERB','OBJ',因为那是该行中的内容。
这是我目前正在使用的脚本:
import re, sys
f = open('findallEX.txt', 'r')
lines = f.readlines()
ii=0
for l in lines:
sys.stdout.write('line %s: %s' %(ii, l))
ii = ii + 1
results = []
for i in lines:
results += re.findall(r'[A-Z]+', i)
谢谢!