[英]How to read in metadata (with tags) from a text file using Python
文本文件开头的数据具有以下格式:
&SRS
<MetaDataAtStart>
multiple=True
Wavelength (Angstrom)=0.97587
mode=assessment
background=True
issid=py11n2g
noisy=True
</MetaDataAtStart>
&END
Two Theta(deg) Counts(sec^-1)
10.0 41.0
10.1 39.0
10.2 38.0
10.3 38.0
我可以使用哪种方法来提取wavelenght的元数据值? CSV词典阅读器可以工作吗?
最简单的解决方案是读取文件头:
f = open("data.txt", "r")
for line in f:
if "</MetaDataAtStart>" in line:
print "Wavelength data was not found"
break;
if "Wavelength" in line:
print line.split("=")[1]
输出:
0.97587
编辑:
import re
f = open("data.txt", "r")
regex = re.compile(r'Wavelength \(Angstrom\)=([0-9]+\.?[0-9]*)')
for line in f:
result = regex.search(line)
print result.group(1)
输出:
0.97587
带有lxml的BeautifulSoup可以做到这一点。 使用findAll()找到标签后,即可提取数据。 此时,Python可以轻松地在\\ n上再次拆分(),然后在=上再次拆分。 让我知道是否需要代码示例,我将提供一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.