【问题标题】:python xml file to pandas dataframepython xml文件到熊猫数据框
【发布时间】:2019-06-24 12:49:33
【问题描述】:

我有一个以下格式的 xml 文件:

<table name="ecat">

  <tuple>
    <atom name="TaxAccNo1">test</atom>
    <atom name="TaxAccNo2">00005504</atom>
    <atom name="TaxAccNo3">1</atom>
    <atom name="irn">100107</atom>
  </tuple>

  <tuple>
    <atom name="TaxAccNo1">test</atom>
    <atom name="TaxAccNo2">00005505</atom>
    <atom name="TaxAccNo3">2</atom>
    <atom name="irn">100108</atom>
  </tuple>

  <tuple>
    <atom name="TaxAccNo1">test</atom>
    <atom name="TaxAccNo2">00005506</atom>
    <atom name="TaxAccNo3">3</atom>
    <atom name="irn">100109</atom>
  </tuple>

</table>

由此,我希望能够生成一个看起来像这样的熊猫数据框:

    TaxAccNo1   TaxAccNo2   TaxAccNo3   irn 
    test        00005504    1           100107
    test        00005505    2           100108
    test        00005505    3           100109

我该怎么做?

【问题讨论】:

标签: python xml pandas elementtree


【解决方案1】:

您可以使用 python 的 xml 和列表/字典理解:

In [11]: import xml

In [12]: e = xml.etree.ElementTree.parse(open("foo.xml"))

In [13]: pd.DataFrame([{a.get('name'): a.text for a in t} for t in e.findall("tuple")])
Out[13]:
  TaxAccNo1 TaxAccNo2 TaxAccNo3     irn
0      test  00005504         1  100107
1      test  00005505         2  100108
2      test  00005506         3  100109

【讨论】:

    猜你喜欢
    • 2013-07-23
    • 2017-03-21
    • 1970-01-01
    • 2020-06-03
    • 2018-03-07
    • 2020-06-03
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多