使用python逐行读取.trc文件并返回信息
我需要一些python代码的帮助来逐行读取.trc文件,并从读取的行返回数据 trc文件示例:使用python逐行读取.trc文件并返回信息,python,Python,我需要一些python代码的帮助来逐行读取.trc文件,并从读取的行返回数据 trc文件示例: <A> DATA1 </A> <L size ="20"> <F4 size ="1">46.0</F4> <F4 size ="1">47.1</F4> <F4 size ="1">23.0</F4> <F4 size ="1">17.45</F4&g
<A> DATA1 </A>
<L size ="20">
<F4 size ="1">46.0</F4>
<F4 size ="1">47.1</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">17.45</F4>
<F4 size ="1">49.0</F4>
<F4 size ="1">50.0</F4>
<F4 size ="1">12.0</F4>
</L>
<A> DATA2 </A>
<L size ="20">
<F4 size ="1">12.0</F4>
<F4 size ="1">19.34</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">99.0</F4>
<F4 size ="1">0.11</F4>
<F4 size ="1">78.0</F4>
<F4 size ="1">12.0</F4>
</L>
我是python新手,希望任何人都能帮助我
import xml.etree.ElementTree as ET
from collections import defaultdict
trc = '''<r><A> DATA1 </A>
<L size ="20">
<F4 size ="1">46.0</F4>
<F4 size ="1">47.1</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">17.45</F4>
<F4 size ="1">49.0</F4>
<F4 size ="1">50.0</F4>
<F4 size ="1">12.0</F4>
</L>
<A> DATA2 </A>
<L size ="20">
<F4 size ="1">12.0</F4>
<F4 size ="1">19.34</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">99.0</F4>
<F4 size ="1">0.11</F4>
<F4 size ="1">78.0</F4>
<F4 size ="1">12.0</F4>
</L></r>'''
root = ET.fromstring(trc)
data = defaultdict(list)
l_list = root.findall('.//L')
for idx,l in enumerate(l_list,1):
key = 'DATA{}'.format(idx)
for f in l.findall('.//F4'):
data[key].append(f.text)
print('\t'.join(data.keys()))
for row in zip(*data.values()):
print('\t'.join(str(v) for v in row))
下面
使用任何一种XML解析器?你能给出一些关于XML解析器工具的例子吗@SMA多个在线示例-例如,使用任何XML解析器?您能给出任何关于XML解析器工具的示例吗@SMA多个在线示例-例如。
import xml.etree.ElementTree as ET
from collections import defaultdict
trc = '''<r><A> DATA1 </A>
<L size ="20">
<F4 size ="1">46.0</F4>
<F4 size ="1">47.1</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">17.45</F4>
<F4 size ="1">49.0</F4>
<F4 size ="1">50.0</F4>
<F4 size ="1">12.0</F4>
</L>
<A> DATA2 </A>
<L size ="20">
<F4 size ="1">12.0</F4>
<F4 size ="1">19.34</F4>
<F4 size ="1">23.0</F4>
<F4 size ="1">99.0</F4>
<F4 size ="1">0.11</F4>
<F4 size ="1">78.0</F4>
<F4 size ="1">12.0</F4>
</L></r>'''
root = ET.fromstring(trc)
data = defaultdict(list)
l_list = root.findall('.//L')
for idx,l in enumerate(l_list,1):
key = 'DATA{}'.format(idx)
for f in l.findall('.//F4'):
data[key].append(f.text)
print('\t'.join(data.keys()))
for row in zip(*data.values()):
print('\t'.join(str(v) for v in row))
DATA1 DATA2
46.0 12.0
47.1 19.34
23.0 23.0
17.45 99.0
49.0 0.11
50.0 78.0
12.0 12.0