在Python中从字符串捕获多个数据点

在Python中从字符串捕获多个数据点,python,Python,我对Python非常陌生,一直试图寻找这个确切的问题,但徒劳无功——我可以找到几个类似的问题,但都不太合适,我想我现在离它越来越远了 我的总体目标是从大量表单中收集特定数据点,以便导出到csv。我已经开始将.txt文件作为一个巨大的字符串(可能不是最好的)引入Python,但现在我一直在收集这些数据点。它们都可以位于静态语言之间,但到目前为止,我只知道如何捕获单个实例而不是多个实例。这是一个扩展版本: horrible_string = 'stuff KNOWN START first data

我对Python非常陌生,一直试图寻找这个确切的问题,但徒劳无功——我可以找到几个类似的问题,但都不太合适,我想我现在离它越来越远了

我的总体目标是从大量表单中收集特定数据点,以便导出到csv。我已经开始将.txt文件作为一个巨大的字符串(可能不是最好的)引入Python,但现在我一直在收集这些数据点。它们都可以位于静态语言之间,但到目前为止,我只知道如何捕获单个实例而不是多个实例。这是一个扩展版本:

horrible_string = 'stuff KNOWN START first data to collect KNOWN END further stuff KNOWN START second data to collect KNOWN END'
我可以收集“要收集的第一个数据”,但我的业余代码到此为止-我需要从这个字符串中获取“要收集的第一个数据”和“要收集的第二个数据”(理想情况下,将它们放在某种格式中,我可以稍后导出到csv)


我需要收集多个/多个数据点(在上面的示例中,不同的“已知开始”和“结束”),但我假设如果我理解核心代码,我可以扩展它以捕获这些点,而不是浪费每个人的时间。这是需要我学习正则表达式的东西,还是缺少一种更简单的方法?

学习正则表达式。

作为一名开发人员,他们将帮助您度过一生

所以只需
导入re

事实上,这并不难:


谢谢你,这帮了我很大的忙,指引了我正确的方向——我正在努力学习正则表达式,而且我的学习进度还有一点提高。目前,我仍然对如何在这里捕获空值感到困惑(这是正确导出到csv的一个要求)。在null的情况下,这很难解释空白。Ex:Bather_string='varA:Yes varB:No varA:varB:Yes'因为第二个varA缺少任何值,所以它实际上会拾取该值和以下varB实例之间的所有值。仍在处理此问题,如果我学习了足够多的正则表达式来首先修复它,将进行更新…实际上,看起来单个空格不会被拾取,但多个空格会被拾取-我正在尝试\s拾取单个空格,因为在某些情况下,它们可能会导致丢失条目的问题,但我还不能完全看到。请注意,工作很完美,是个白痴。导出到csv,很漂亮!如果这对您有效,请点击投票符号下方的“V”符号接受答案。:)
horrible_string = 'stuff KNOWN START first data to collect KNOWN END further stuff KNOWN START second data to collect KNOWN END'
m = re.findall( 'KNOWN\ START\ (.*?)\ KNOWN\ END', horrible_string, re.DOTALL)
print(m)

# => ['first data to collect', 'second data to collect']