如何根据 .txt 文件中的关键字在 Python 中创建列表?

Posted

技术标签:

【中文标题】如何根据 .txt 文件中的关键字在 Python 中创建列表?【英文标题】:How do you make a list in Python based on a keyword within a .txt file? 【发布时间】:2022-01-23 18:23:53 【问题描述】:

所以下面的列表是一个数字输出的例子,我需要从中提取数据。它采用.txt 文件的形式,我正在尝试在 Python 中创建一个列表,该列表根据关键字搜索字符串并使用该字符串中的字符来制作该列表。

具体来说,我正在尝试在WorkOrder1 行中搜索“PLT”作为关键字,然后列出数字。我已经搜索和搜索,但我唯一发现的是如何将整个文件转换为列表,而不是文件中的特定元素。任何帮助将不胜感激。

ART INDEX #1
PartNumber: 123
WorkOrder1: PLT123456
SerialNumber1:  1
SerialNumber2:  2
SerialNumber3:  3
SerialNumber4:  4
SerialNumber5:  5
SerialNumber6:  6
SerialNumber7:  7
SerialNumber8:  8
SerialNumber9:  9
SerialNumber10: 10
SerialNumber11: 11
SerialNumber12: 12
WorkOrder2: PLT123456
SerialNumber13: 13
SerialNumber14: 14
SerialNumber15: 15
SerialNumber16: 16
SerialNumber17: 17
SerialNumber18: 18

到目前为止我写的代码:

F_WO=[] 
f_baseplate.append(pd.read_csv(r'\\filepath' .format(r'\\'+str(filelist[i][0][0:6])+'\\'+filelist[i][0][0:len(filelist[i][0])-4]+'.txt'), delimiter='\\t',skiprows=36,engine='python',nrows=1,header=None,usecols=[1],index_col=False))

我需要的是由上述关键字后面的字符生成的列表。我想废弃我所拥有的代码,因为我知道有一种更简单的方法可以做到这一点。谢谢你的帮助,克里斯。

【问题讨论】:

请提供您目前尝试的方法,以及您需要的预期输出。人们可以帮助您快速修复 不要在 cmets 中添加代码,而是可以编辑原始问题。请下次这样做 这能回答你的问题吗? ***.com/questions/35773600/… 【参考方案1】:

我不确定我是否正确,但也许这可行:

keyword = "PLT"
FW_O = []
with open("file.txt") as f:
    for line in f.readlines():
        if keyword in line:
            tmp = line.split(keyword)[-1].strip()
            FW_O.append(tmp)

它的作用是遍历文件的所有行。如果一行包含您的关键字,它将在该关键字处拆分该行并将所有内容存储在关键字后面(除了换行符 (strip()) 中的 tmp。我们现在将tmp 附加到FW_O

这能解决您的问题吗?

【讨论】:

感谢您的帮助!不幸的是,它没有给我我想要的东西。为了澄清,我想在 .txt 文件中找到关键字“PLT”并将“123456”存储在列表 F_WO 中。这有意义吗? 我已经调整了我的解决方案,现在对你有用吗? 太完美了!非常感谢!

以上是关于如何根据 .txt 文件中的关键字在 Python 中创建列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据php文件中的名称替换.txt文件中的字符串?

如何在 Python 中访问文件(.txt)中的下一行

python查找txt文件中关键字

我们如何将 TXT 文件中的板加载到二维数组中(没有 rowSize 和 columnSize)

如何根据 pandas-python 中带有空格的图像拆分列中的值

根据Python中的值查找第一行文本