Python を使用して XML を CSV に変換する
Vaibhav Vaibhav
2022年4月14日
Python
Python XML
Python CSV

XML
または Extensible Markup Language
は、人間が読める形式と機械が読める形式の両方でデータをドキュメントに保存するマークアップ言語です。ファイル拡張子は .xml
です。
CSV
または Comma Separated Values
は、カンマで区切られたドキュメントにデータを保存します。ファイル拡張子は .csv
です。この記事では、Python を使用して XML
データを CSV
データに変換する方法を学習します。
Python を使用して XML
を CSV
に変換する
XML
を CSV
に変換するには、Python に組み込まれている xml
モジュールを使用できます。
このモジュールには、XML
ドキュメントをツリーとして表すために使用できるさらに別のモジュール ElementTree
があります。これには、パラメータとして XML
ドキュメントを受け入れるメソッド parse()
があります。
XML
ドキュメント全体を解析し、ツリー形式で保存します。ツリーには、ツリーのルート要素を返す getroot()
メソッドがあります。
for
ループを使用して、ツリーを反復処理し、タグ名(name
、rollnumber
および age
)を使用してデータにアクセスできます。
変換を理解するには、いくつかのサンプル XML
データが必要です。次の XML
データを使用して、input.xml
という名前のファイルに保存できます。
次のコードスニペットはこのデータを使用します。同じページに表示されるようにする必要があります。
XML
xmlCopy<students>
<student>
<name>Rick Grimes</name>
<rollnumber>1</rollnumber>
<age>15</age>
</student>
<student>
<name>Lori Grimes</name>
<rollnumber>2</rollnumber>
<age>16</age>
</student>
<student>
<name>Carl Grimes</name>
<rollnumber>3</rollnumber>
<age>14</age>
</student>
<student>
<name>Judith Grimes</name>
<rollnumber>4</rollnumber>
<age>13</age>
</student>
</students>
変換の実行方法については、次の Python コードを参照してください。
Python
pythonCopyfrom xml.etree import ElementTree
tree = ElementTree.parse("input.xml")
root = tree.getroot()
for student in root:
name = student.find("name").text
roll_number = student.find("rollnumber").text
age = student.find("age").text
print(f"{name},{roll_number},{age}")
出力:
textCopyRick Grimes,1,15
Lori Grimes,2,16
Carl Grimes,3,14
Judith Grimes,4,13
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Vaibhav Vaibhav