Python を使用して XML を CSV に変換する
Vaibhav Vaibhav
2022年4月14日
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
という名前のファイルに保存できます。
次のコードスニペットはこのデータを使用します。同じページに表示されるようにする必要があります。
<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 コードを参照してください。
from 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}")
出力:
Rick Grimes,1,15
Lori Grimes,2,16
Carl Grimes,3,14
Judith Grimes,4,13
著者: Vaibhav Vaibhav