なぜ XML を CSV に変換するのですか?
XML は ERP、CRM、銀行システム、および政府ポータルの標準的なエクスポート形式ですが、そのタグ構造により、スプレッドシートでの分析やデータベースへのロードが困難です。.CSV に変換すると、ツールが追加の変換なしでインポートできるフラットな行・列レイアウトが得られます。XML が規則的なテーブル状の構造を持っている限り、変換はうまく機能します。
XML から CSV への変換方法
Microsoft Excel - Power Query BUILT-IN
«データ» > «データの取得» > «ファイルから» > «XML から» に移動し、Power Query で繰り返しの要素を選択してから、«ファイル» > «名前を付けて保存» > «CSV» を選択します。
OpenOffice.org Calc FREE
Calc で xml ファイルを開き、XML ソースパネルを介して要素を列にマッピングし、«テキスト CSV» (.csv) としてエクスポートします。
コマンドライン - Python CLI
xml.etree.ElementTree と csv.writer を使用した短いスクリプトを作成し、python convert.py input.xml output.csv として実行します。
XML を変換するプログラム
これらの形式について
XML ファイルは、ネストされたカスタムタグ内に構造化データを保存するプレーンテキストドキュメントです。単なるテキストであるため、任意のテキストエディタで開くことができます。ブラウザのタブにドラッグすれば折りたたみ可能な表示で素早く確認でき、編集には Visual Studio Code や Notepad++ が適しています。XML…
.XML の詳細を開く →CSV ファイルは、表形式のデータをプレーンテキストとして保存します。1行に1レコード、値はカンマ(欧州圏ではセミコロン)で区切られます。Excel、Google Sheets、LibreOffice Calc などのスプレッドシートソフトで開くことができます。最も一般的な問題は、Excel…
.CSV の詳細を開く →品質と注意点
- CSV はフラットです。ネストされた XML 要素と属性は削除されるか、1 つのテキスト値に折りたたまれます。信頼する前に必ず出力を検査してください。
- XML 名前空間により、出力に
{http://example.com/ns}fieldnameのような煩雑な列名が生成されることがあります。名前空間を削除する前処理ステップを行うことで、これを回避できます。 - XML に ASCII 以外の文字が含まれている場合は、ツールが UTF-8 で書き込むことを確認してください。Windows 上の Excel はデフォルトでシステムコードページを使用し、アクセント付き文字や非ラテン文字を破損させる可能性があります。
よくある質問
これはすべての XML ファイルで機能しますか?
xml は、自動的に有用なフラットな csv に変換されません。ネストされた要素はどうなりますか?
xmltodict を使用した Python スクリプトなどで構造をフラット化してから csv を書き込んでください。