使用python逐行读取.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

我需要一些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> 
  <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