Python を使用して XML を CSV に変換する

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

XML または Extensible Markup Language は、人間が読める形式と機械が読める形式の両方でデータをドキュメントに保存するマークアップ言語です。ファイル拡張子は .xml です。

CSV または Comma Separated Values は、カンマで区切られたドキュメントにデータを保存します。ファイル拡張子は .csv です。この記事では、Python を使用して XML データを CSV データに変換する方法を学習します。

Python を使用して XMLCSV に変換する

XMLCSV に変換するには、Python に組み込まれている xml モジュールを使用できます。

このモジュールには、XML ドキュメントをツリーとして表すために使用できるさらに別のモジュール ElementTree があります。これには、パラメータとして XML ドキュメントを受け入れるメソッド parse() があります。

XML ドキュメント全体を解析し、ツリー形式で保存します。ツリーには、ツリーのルート要素を返す getroot() メソッドがあります。

for ループを使用して、ツリーを反復処理し、タグ名(namerollnumber および 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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

関連記事 - Python XML

関連記事 - Python CSV