我想获取所有匹配的数字(仅数字示例 '0012--22')或包含与其对应的一些文本(示例 'RF332')的数字,这些文本与提供的字符串列表匹配(代码中的“my_list”) . 带有数字的文本出现的格式就像用一两个空格分隔。提供示例输入文件以供参考。
这是输入文件:
$cat input_file
some text before Expedien: 1-21-212-16-26 some random text
Reference RE9833 of all sentences.
abc
123
456
something blah blah Ref.:
tramite 1234567
Ref.:
some junk Expedien N° 18-00777 # some new content
some text Expedien N°18-0022995 # some garbled content
到目前为止的脚本附在下面:它目前只识别一个元素,它是 {'tramite': '1234567'}
import re
import glob
import os
my_list = ['Ref.:', 'Reference', 'tramite', 'Expediente', 'Expediente No', 'Expedien N°', 'Exp.No', 'Expedien']
#open the file as input
with open('garb.txt','r') as infile:
res = dict()
for line in infile:
elems = re.split('(?::)?\s+', line)
#print(elems)
if len(elems) >= 2 :
contains = False
tmp = ''
for elem in elems:
if contains:
res.update({tmp : elem})
print(res)
contains = False
break
if elem in my_list:
contains = True
tmp = elem
#print(res)
这是预期的输出:
示例输出:
{'Expedien N°': '18-0022995'}
{'Expedien N°': '18-0022995'}
{'Expedien': '1-21-212-16-26'}
{'Reference' : 'RE9833'}
等等等等
牧羊人nacy
慕沐林林
相关分类