Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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:在匹配行之后从文件中提取3行_Python_Python 3.x_File_Parsing - Fatal编程技术网

Python:在匹配行之后从文件中提取3行

Python:在匹配行之后从文件中提取3行,python,python-3.x,file,parsing,Python,Python 3.x,File,Parsing,我有一个包含数据的文本文件。它包含了我需要的更多信息,因此我试图只提取标题为“温度”的关于温度的部分。我需要用它提取三行数据,然后最终创建一个只包含相关数据的新文本文件 下面是文本文件“Test_file.txt”的示例: NOT IMPORTANT 234123 1523 1234 613 1234 146134 51234 123231 123 1235123512 5467 3 564 245 26 234 5 62 435 234 534 62 345 2346 234 52 345

我有一个包含数据的文本文件。它包含了我需要的更多信息,因此我试图只提取标题为“温度”的关于温度的部分。我需要用它提取三行数据,然后最终创建一个只包含相关数据的新文本文件

下面是文本文件“Test_file.txt”的示例:

NOT IMPORTANT
234123 1523 1234 613 1234 146134 51234 123231 123 1235123512 
5467 3 564 245 26 234 5 62 435 234 534 62 345 2346 234 52 345 2345 2
456 2345 2362 3452 346 2345 236 254 24 523 45 23462 345 234 54326 23
TEMPERATURE
11223 112312 4123123 6423 123124 563456 123123 35734562 34526 3452 346
123412 51341 12341 473567 11234 45746 578957 23523 3452 32435 3 32452346 
23453 23462 234532 54245 345 4563 6573456 23452345 367 4523 45 2345234
NOT NEEDED
324123 6462 345 3563 67 566 123 412343 4645 76568 5623 5341 23413 65
573568767 345 2354 324623 452 346 2345 234 526 23 4523 452 345 3254 345 
WAVELENGTH
123 234 5134 234 6246 1234 5623 3 568 3245 8 2455 345 47 2345 2
2354 46 5657 24455 1345 4566 3 2345 456 6 345 25 34 2354236 2345
以下是我目前的代码:

with open("Test_File.txt") as data:
    data = infile.readlines()

data = [x.strip() for x in data]    

n = 1000000

list = []

for item in data:
    if item == "TEMPERATURE":
        list.append(item)
        n = 0
        continue
    elif n < 4:   
        list.append(item)
        n += 1
        continue
    elif n >= 4:
        break


print(list)        
打开(“Test_File.txt”)作为数据:
数据=infle.readlines()
数据=[x.strip()表示数据中的x]
n=1000000
列表=[]
对于数据中的项目:
如果项目==“温度”:
列表。追加(项目)
n=0
持续
elif n<4:
列表。追加(项目)
n+=1
持续
如果n>=4:
打破
打印(列表)
当我试着运行它的时候,我总是遇到一个错误,所以任何帮助都将不胜感激!谢谢大家!

您可以使用
f.next()
f

蟒蛇3:

l = []

with open("Test_File.txt", "r+") as f:
    while f.__next__().strip() != 'TEMPERATURE':
        continue

    for _ in range(3):
        l.append(f.__next__().strip())

print(l)

>> ['11223 112312 4123123 6423 123124 563456 123123 35734562 34526 3452 346', 
    '123412 51341 12341 473567 11234 45746 578957 23523 3452 32435 3 32452346', 
    '23453 23462 234532 54245 345 4563 6573456 23452345 367 4523 45 2345234']
l = []

with open("Test_File.txt", "r") as f:
    while f.next().strip() != 'TEMPERATURE':
        continue

    for _ in range(3):
        l.append(f.next().strip())

print(l)

>> ['11223 112312 4123123 6423 123124 563456 123123 35734562 34526 3452 346', 
    '123412 51341 12341 473567 11234 45746 578957 23523 3452 32435 3 32452346', 
    '23453 23462 234532 54245 345 4563 6573456 23452345 367 4523 45 2345234']
蟒蛇2:

l = []

with open("Test_File.txt", "r+") as f:
    while f.__next__().strip() != 'TEMPERATURE':
        continue

    for _ in range(3):
        l.append(f.__next__().strip())

print(l)

>> ['11223 112312 4123123 6423 123124 563456 123123 35734562 34526 3452 346', 
    '123412 51341 12341 473567 11234 45746 578957 23523 3452 32435 3 32452346', 
    '23453 23462 234532 54245 345 4563 6573456 23452345 367 4523 45 2345234']
l = []

with open("Test_File.txt", "r") as f:
    while f.next().strip() != 'TEMPERATURE':
        continue

    for _ in range(3):
        l.append(f.next().strip())

print(l)

>> ['11223 112312 4123123 6423 123124 563456 123123 35734562 34526 3452 346', 
    '123412 51341 12341 473567 11234 45746 578957 23523 3452 32435 3 32452346', 
    '23453 23462 234532 54245 345 4563 6573456 23452345 367 4523 45 2345234']
输出:
我一直认为错误不是问题描述,除非你明确告诉我们错误是什么,包括确切的错误消息。它就在你面前的屏幕上,但我们坐在那里看不到屏幕。我们需要一个明确的问题描述和一个具体的问题,然后才能提供帮助。在单词TEMPERATURE之后,“Test_File.txt”是否总是有3行数据,直到它达到不需要的程度为止?@Hari Yes。在Temperature我复制了您的代码之后,它将始终是一组行数,并且它给了我属性错误:_io.TextIOWrapper'object没有属性'next'谢谢!很好!