gpt4 book ai didi

python - 如何使用python从特定关键字中提取有限行的数据

转载 作者:行者123 更新时间:2023-12-01 06:57:32 29 4
gpt4 key购买 nike

我有一个文本文件,我需要提取段落中出现指定关键字的前五行。

我能够找到关键字,但无法根据该关键字编写接下来的五行。

mylines = []                              

with open ('D:\\Tasks\\Task_20\\txt\\CV (4).txt', 'rt') as myfile:

for line in myfile:

mylines.append(line)

for element in mylines:

print(element, end='')

print(mylines[0].find("P"))

如果有人知道如何执行此操作,请提供帮助。

输入文本文件示例:-

菲律宾合作伙伴机构:ALL POWER STAFFING SOLUTIONS, INC.

培训目标::接触国际文化并获得该领域的实践经验酒店管理作为通向有意义的酒店职业生涯的门户。发展我的热情好客管理技能并具有全局竞争力。

教育机构名称:菲律宾南维尔外国语大学地点:菲律宾皮纳斯市霍姆 机构开始日期:(2007 年 6 月

所需输出:-

培训目标::接触国际文化并获得该领域的实践经验酒店管理作为通向有意义的酒店职业生涯的门户。发展我的热情好客管理技能并具有全局竞争力。

#

我必须在文本文件中搜索训练目标关键字,它发现它应该只写接下来的 5 行。

最佳答案

如果您只是尝试提取整个“培训目标” block ,请查找关键字并不断追加行,直到找到空行(或其他合适的标记,例如下一个标题)。

(编辑以处理多个文件和关键字)

def extract_block(filename, keywords):
mylines = []
with open(filename) as myfile:
save_flag = False
for line in myfile:
if any(line.startswith(kw) for kw in keywords):
save_flag = True
elif line.strip() == '':
save_flag = False
if save_flag:
mylines.append(line)
return mylines

filenames = ['file1.txt', 'file2.txt', 'file3.txt']
keywords = ['keyword1', 'keyword2', 'keyword3']
for filename in filenames:
block = extract_block(filename, keywords)

这假设每个文件中只有 1 个 block 。如果您从每个文件中提取多个 block ,则会变得更加复杂。

如果您确实每次都想要 5 行,那么您可以执行类似的操作,但添加一个计数器来计算 5 行。

关于python - 如何使用python从特定关键字中提取有限行的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742884/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com