我需要解析与此one类似的多个财务报表.txt文件。 .txt文件没有标准格式。但是,他们有类似的标题。我的目标是提取以。{1}}开头并以['Item', '7', 'Management', 'Analysis']
结尾的.txt文件部分。列表内容和['Item', '8', 'Financial', 'Statements']
中单词的顺序位于['Item', '7', 'Management', 'Analysis']
之前。
我的想法是从:
开始['Item', '8', 'Financial', 'Statements']
并循环遍历fdir = open('C:\\0001193125-13-416534.txt','r')
lines = fdir.readlines()
中的每一行,然后使用difflib.get_close_matches
查找上述关键字。但是,我有两个问题:(1)如何使用lines
搜索多个单词? (2)我知道difflib
只会提取匹配字,但我怎样才能使用它来查找difflib
(列表index
中的位置){{1找到这些词?
让我添加第三个问题:使用lines
以适当的方式阅读txt文件并开始搜索匹配词,还是应该只使用lines
?
答案 0 :(得分:2)
您可以在此使用re
和f.read()。
f.read()返回一个字符串,而f.readlines()返回一个列表。
import re
x=f.read()
print re.findall(r"Item(?:(?!Item).)*7(?:(?!Item|7).)*Management(?:(?!Item|7|Management).)*Analysis[\s\S]*Item(?:(?!Item).)*8(?:(?!Item|8).)*Financial(?:(?!Item|8|Financial).)*Statements",x)