首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文档中搜索一个关键字,然后在Python中原始关键字的设定行数内搜索后续关键字?

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

Stack Overflow用户
提问于 2011-04-29 05:09:56
回答 2查看 159关注 0票数 1

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

在本例中,我在文档中搜索单词"carrying",并希望确保单词"carrying“位于单词"Financial Assets”的5行之内:当我只搜索"carrying“时,我的代码能够找到并打印这些行,但是当我包括搜索"Financial Assets:”时,它什么也找不到(即使我知道它在文档中)。

代码语言:javascript
复制
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)

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-29 05:12:55

而不是

代码语言:javascript
复制
"Financial Assets:" in searchlines[m-5:m+5]

您需要具备:

代码语言:javascript
复制
any("Financial Assets:" in line2 for line2 in searchlines[m-5:m+5])

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

票数 2
EN

Stack Overflow用户

发布于 2011-04-29 05:14:48

表达式

代码语言:javascript
复制
"carrying" in line

在行内的任何位置搜索字符串。但是,该语句

代码语言:javascript
复制
"Finantial Assets:" in searchlines[m-5:m+5]

正在该子列表中搜索精确匹配(即,精确为`"Finantial Assets:“的行)。您需要将这第二部分更改为类似于

代码语言:javascript
复制
"Finantial Assets:" in " ".join(searchlines[m-5:m+5])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5825055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档