我在jupyter笔记本上解析xml文件并使用此代码打开文件:
from lxml import etree as ET
tree = ET.parse('C:\Users\mysky\Documents\Decoded\F804187.xml')
root = tree.getroot()
然后我用xpath和pandas做一些处理,例如我做:
CODE = [ ]
for errors in root.findall('.//Book/Message/Param/Buffer/Data/Field[11]'):
error_code = errors.find('RawValue').text
if error_code is not None:
CODE.append(error_code)
我有大约10个小代码块用于提取数据,最后我将数据帧保存在CSV文件中。
我有很多xml文件,我想逐个读取Decoded
目录的所有文件,然后逐个处理它们,并将每个结果附加到我的CSV文件中。
谢谢!
答案 0 :(得分:1)
要列出目录中的所有xml
个文件,您可以使用for example glob
(second answer)。
它看起来像这样:
import glob
files = glob.glob('C:\Users\mysky\Documents\Decoded\*.xml')
for file in files:
tree = ET.parse(file)
root = tree.getroot()
CODE = [ ]
for errors in root.findall('.//Book/Message/Param/Buffer/Data/Field[11]'):
error_code = errors.find('RawValue').text
if error_code is not None:
CODE.append(error_code)