1
私は必要なデータを含むXMLファイルが提供されています。私はそれをCSVに変換する必要があります。Python3を使用する柔軟なXML to
これは簡単ですが、XMLの「繰り返し単位」の子の数は必ずしも同じではありません。
私が解決しようとしているのは、もはや存在しなくなるまで、各子要素の子要素を反復し、これを1つの "行"として返す方法です。最終出力は、辞書のリスト(CSVの "行"ごとに1つのリスト)でなければなりません。これが生じるはずである例として
<repeatingunit>
<city>
<name>London</name>
</city>
<station>
<name>Southwark</name>
<tubeline>
<name>Jubilee</name>
</tubeline>
</repeatingunit>
<repeatingunit>
<city>
<name>London</name>
<county>UK</county>
<station>
<name>Mile End</name>
</station>
</repeatingunit>
:私はxml.etree.ElementTreeとroot.iterを使用していた
{'city|name':'London','station|name':'Southwark','station|tubeline|name': 'Jubilee'},{'city|name':'London','city|country':'UK','station|name':'Mile End'}
、私はループとうれしいですが、そのダイナミズム。
複数のネストされたリストhereのロジックを使用しようとしましたが、役に立たなくなりました。誰かが正しい方向に私を向けることができる新しいアプローチを提案する?
最後に長さが異なる辞書はcsvに書き出すのには理想的ではないが、私が望む出力に基づいて処理できることを知っている。