我正在研究一个正在寻找关键字select col1, col2,
row_number() over (partition by col1, col2, (seqnum - seqnum_2) order by <ordering column>) as col3
from (select t.*,
row_number() over (partition by col1 order by <ordering column>) as seqnum,
row_number() over (partition by col1, col2 order by <ordering column>) as seqnum_2
from t
) t;
的数据挖掘程序。我想找到它并打印它出现的行以及之后的十行。到目前为止,我已经在程序中打印出出现关键字的行和行号,但是我无法打印下几行。我的代码如下:
我尝试使用Background:yellow;
,但没有用。
print("line{}: {}".format{cnt, line[int:int])
答案 0 :(得分:2)
一个更简单的解决方案是使用grep做完全相同的事情:
grep -i -A 10 "Background:yellow;" <filename>
-A 10将在匹配的行之后打印10行。
答案 1 :(得分:0)
这是我的方法:
代码:
counter = 0
with open('data.txt') as f:
for line in f:
if 'Background:yellow;' in line:
counter = 11
print() # Optional: Put out an empty line
if counter > 0:
print(line, end='')
counter -= 1
答案 2 :(得分:0)
如果要检索python内部的grep
输出,请补充@benjamin答案:
import subprocess
output = subprocess.check_output(
'grep -i -A 10 "Background:yellow;" <filename>',
stderr=subprocess.STDOUT,
shell=True).decode()
lines = output.split('\n')
print(lines)
第一行lines[0]
是您匹配的行。