Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何提取.txt文件中特定范围的行?_Python_Jupyter Notebook_Text Extraction - Fatal编程技术网

Python 如何提取.txt文件中特定范围的行?

Python 如何提取.txt文件中特定范围的行?,python,jupyter-notebook,text-extraction,Python,Jupyter Notebook,Text Extraction,在一个文本文件中,我有一个关键文本“Remuneração total”。在文件中找到该文本行的第二个匹配项后,我应该在该关键行前后阅读并打印20行 我试图在互联网上找到类似的东西,但什么也没找到。我是python编程的新手,所以这对我来说是一项相当困难的工作 我只是勉强找到了我想要的第一行 read_file = open(r"C:\Users\guerr\OneDrive\Documentos\PYTHON\TXT_FILES\file.txt", encoding='utf-8') # o

在一个文本文件中,我有一个关键文本“Remuneração total”。在文件中找到该文本行的第二个匹配项后,我应该在该关键行前后阅读并打印20行

我试图在互联网上找到类似的东西,但什么也没找到。我是python编程的新手,所以这对我来说是一项相当困难的工作

我只是勉强找到了我想要的第一行

read_file = open(r"C:\Users\guerr\OneDrive\Documentos\PYTHON\TXT_FILES\file.txt", encoding='utf-8') # open file

lines = read_file.readlines()  # read all lines
for index, line in enumerate(lines):  # enumerate the list 

    if key in line: 
        print(line)  
A B C D E F G

如果我的键是“D”,并且前后两行的范围是2,那么它应该返回给我:

B C D E
F

假设每个字母位于不同的行上,您应该遍历列表,找到键后停止,并记录您所在的行号。然后,再次打开它,如果它与键之间的距离小于或等于范围,则打印该行

例如:

key=“D”
lines=读取文件。readlines()#读取所有行
对于索引,枚举中的行(行):#枚举列表
如果输入行:
关键字行=索引
对于索引,枚举中的行(行):

如果abs(index-key_line)假设每个字母都在不同的行上,那么您应该遍历列表,找到键后停止,并记录您所在的行号。然后,再次打开它,如果它与键之间的距离小于或等于范围,则打印该行

例如:

key=“D”
lines=读取文件。readlines()#读取所有行
对于索引,枚举中的行(行):#枚举列表
如果输入行:
关键字行=索引
对于索引,枚举中的行(行):
如果abs(索引-键线)
印刷品:

['B', 'C', 'D', 'E', 'F']
如果未找到
,则
自定义打印()
返回空列表

印刷品:

['B', 'C', 'D', 'E', 'F']
如果未找到
,则
自定义打印()
返回空列表