python - 如何在 Python 文档中搜索关键字,然后在原始关键字的一定行数内搜索后续关键字?

标签 python search

我想在文档中搜索关键字,然后检查该关键字是否在另一个关键字的 5 行范围内。如果是,我想打印该行和接下来的 50 行。

在此示例中,我正在文档中搜索“carrying”一词,并且我想确保“carrying”一词位于“Financial Assets:”一词的 5 行之内,我的代码能够查找并打印当我只包含对“携带”的搜索时,但当我包含对“金融 Assets :”的搜索时,它没有找到任何内容(即使我知道它在文档中)。

import urllib2

data = []

html = urllib2.urlopen("ftp://ftp.sec.gov/edgar/data/1001627/0000950116-97-001247.txt")
searchlines = html.readlines()
for m, line in enumerate(searchlines):
    line = line.lower()
    if "carrying" in line and "Financial Assets:" in searchlines[m-5:m+5]: 
        for l in searchlines[m-5:m+50]:
            data.append(l)
print ''.join(data)

任何帮助将不胜感激。

最佳答案

而不是

"Financial Assets:" in searchlines[m-5:m+5]

您需要:

any("Financial Assets:" in line2 for line2 in searchlines[m-5:m+5])

您的原始代码查找恰好包含内容“Financial Assets:”的行,而不是在每行中将其作为子字符串查找。

关于python - 如何在 Python 文档中搜索关键字,然后在原始关键字的一定行数内搜索后续关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825055/

相关文章:

python - 使用 Django 的代理服务器

php - 按相关性进行 boolean 全文搜索顺序似乎不起作用

c# - LINQ 查询以从多个列表中按条件过滤项目

python - 将 TCL 脚本的输出记录到 Tkinter 文本小部件中

python - 如何从无限生成器中干净地捕获?

c# - Word 如何在高级搜索中找到匹配的词形?

java - 由于应用程序兼容,Searchview 不起作用

elasticsearch - Elasticsearch查找距一组引用点最远距离的位置

python - Pandas 数据框填充索引之间的值

python - 获取其他列中唯一值的最大值行 : python