我正在努力为下面的问题找到最好的解决办法。我使用Python获取一个xml文件,搜索我感兴趣的元素并返回它们的相关值。如果缺少元素,则返回null、none或等效值
目前,我正在使用lxml和xpath语法,但是我们发现它非常慢,因为我必须循环许多相同的元素,以便在python中测试值是否存在
我正在使用xpath创建一个自定义词典,然后我可以将其中的内容扁平化为类似Pandas的内容
示例结构为:
Holding 1 - Contains 3 children
<Holding id = 1>
<Name> x </Name>
<Date> x </Date>
<Flavour> x </Flavour>
</Holding>
Holding 2 - Contains only two children
<Holding id = 2>
<Name> y </Name>
<Date> y </Date>
</Holding>
我需要的东西,如果味道缺失,返回一个默认值
如果我只是选择从每个holding中提取所有文本,我会以不同长度的值结束
列出一个将有名称,日期,风味的值。 列表2只包含Name和Date的值
下面是一个例子。我看了每一个投资组合,每个持有和收回的排名文本
Dict['Rank'] = root.xpath(f'//ns:Portfolio[{each_portfolio + 1}]/ns:Holdings/*[{each_holding + 1}]/ns:Rank/text()', namespaces = {'ns' : nsurl}))
任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐