如何使用Python将文件拆分为键值对(或其他格式)

假设我有一个文档文件,内容如下:

治疗重点和评估:描述(1)干预的类型(如药物治疗、手术、预防、生活方式、自理)和(2)干预的管理和强度(包括剂量、强度、持续时间、频率)。

随访和结果:请描述此案例的临床过程,包括所有随访访问以及(1)干预的修改、中断或终止及其原因;(2)对干预的依从性以及如何评估这些依从性;

讨论:请描述此案例报告的优势和局限性,包括病例管理,以及与此案例报告相关的科学和医学文献。

在这个文件中,我想将每个标题及其内容分开。也就是说,我将有3个标题和3个内容。我考虑将标题作为键,内容作为其值。我该如何使用正则表达式来过滤这些信息呢?

文件结构的微小变化:(附加问题)

治疗重点和评估:描述(1)干预的类型(如药物治疗、手术、预防、生活方式、自理)和(2)干预的管理和强度(包括剂量、强度、持续时间、频率)。

讨论:

请描述此案例报告的优势和局限性,包括病例管理,以及科学。健康:与此案例报告相关的医学文献。

如果我有这种类型的文件,其中第一段的内容是连续的,而第二段的内容之间有行间距。同一段落中还包含了一个额外的部分。在这种情况下,我该如何拆分呢?


回答:

这里介绍了一种基于字符而非正则表达式进行拆分的方法。

String document = "Header: blah blah \n Header: blah blah"String[] sections = document.split("\n");String[] headers = new String[sections.length];String[] bodies = new String[sections.length];;for(int i = 0; i < sections.length; i++){      headers[i] = sections[i].split(":")[0];      bodies[i] = sections[i].substring(headers[i].length() + 2);}

如果您有更复杂的分割需求,比如不是简单的回车和冒号,那么同样的分割方法也可以应用于正则表达式模式,但从表面上看,这种方法可能适合您的需求。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注