2017-02-21 36 views
0

因此,我在包含文本和数据的文件中包含一些数据。 例如它的一个片段看起来是这样的:在特定点之后在文本/数据文件中指定特定行

Structure: PTV 
Plan: CT 
Course: 900 
Volume [cm³]: 107.2 
Dose Cover.[%]: 100.0 
Sampling Cover.[%]: 99.9 
Min Dose [%]: 90.2 
Max Dose [%]: 104.9 
Mean Dose [%]: 100.0 
Modal Dose [%]: 99.7 
Median Dose [%]: 100.1 
STD [%]: 1.7 

在此之前,有很多其他的东西,我不需要,而且之后。基本上我想定位一行Volume [cm³]: 107.2,并将其用于计算等。但是,由于数据文件中存在不同的结构,因此不同的结构会重复使用此文本/模式/代码段,因此我不能说:“使用数据输入的地方它说Volume [cm³]“,因为这发生了很多地方,并且它们不一定总是以相同的顺序。所以我需要的可能是某个文件中的第2个,另一个文件中的第4个。

那么我该如何去瞄准Volume [cm³]: 107.2行后或任何需要的名称?

回答

1

你的问题还不太清楚。既然你把它标记为python,我想你正在寻找这种语言的解决方案。你需要的可能是regular expressions。 Python有一个名为re的内置模块。

import re 
with open('yourdata', 'r') as f: 
    str = f.read() 

pattern = re.compile("Volume \[([^]]*)\]: ([0-9.]*)") 
re.findall(pattern, str) 

这会给你(单位,值)的列表:

Out[29]: [('cm³', '107.2')] 
+0

啊,是的,那是当然的Python语言,我需要做的,但确实给我的音量。值,谢谢你:D –

相关问题