XML to CSV
繰り返しのXML要素をCSVの行に変換し、Excelや分析に役立てます
XML入力
CSV出力
XML to CSV コンバーターとは?
表計算ソフトやBIツールは行と列を求めますが、多くの元データはいまだにXMLで届きます――CDRのエクスポート、SIMプロビジョニングのバッチ、ベンダーの製品カタログなどです。ExcelでXMLファイルを開くのは扱いにくく、手早い分析のために使い捨てのパーサーを書くのは大げさです。このコンバーターはXML内の繰り返し要素(たとえば加入者一覧の<subscriber>)を取り、それぞれをCSVの行に、各子要素を列に変換します。貼り付けてCSVをコピーし、Excel、Google スプレッドシート、pandasで開けます。
内部ではブラウザのDOMParser――W3CのXML仕様で説明されるエンジン――でXMLを解析し、最初の繰り返し要素の集合を見つけ、RFC 4180の引用規則に従ったカンマ区切りの値として書き出します。すべてブラウザ内で実行され、XMLが端末から出ることはありません。
XML to CSV コンバーターの使い方
- XMLを貼り付ける – 整形式のXMLドキュメントを左パネルに入れます。類似した要素のリストを含むべきで、その繰り返し要素が行になります。
- 変換を見る – 入力するそばからCSVが右パネルに現れます。変換ボタンはなく、短いデバウンスで軽快に動きます。
- 列を確認 – コンバーターは全行にわたって子要素名を統合するため、一部のレコードにフィールドが欠けていても、ヘッダーには見つかったすべての列が並びます。
- エスケープに注意 – カンマ・引用符・改行を含む値は二重引用符で囲まれ、内部の引用符は二重化されます(RFC 4180準拠)――そのためCSVはどの表計算ソフトでもきれいに開けます。
- コピーまたはダウンロード – CopyでCSVテキストを取得するか、DownloadでExcel、スプレッドシート、データパイプライン向けの.csvファイルとして保存します。
ヒント: コンバーターは行に使う最初の繰り返し要素の集合を探します。XMLがリストを数階層深く包んでいても(例:<response><data><subscriber>...</subscriber></data></response>)、<subscriber>のリストを見つけます。無関係なリストが複数ある場合は、エクスポートしたいものだけを入力に残してください。
例
加入者一覧です。繰り返される各<subscriber>要素がCSVの行になり、その子要素(subscriberId、msisdn、plan、dataUsage)が列になります。
<subscribers> <subscriber> <subscriberId>SUB-1001</subscriberId> <msisdn>447700900142</msisdn> <plan>Unlimited 5G</plan> <dataUsage>45.2</dataUsage> </subscriber> <subscriber> <subscriberId>SUB-1002</subscriberId> <msisdn>447700900458</msisdn> <plan>Business 200GB</plan> <dataUsage>120.5</dataUsage> </subscriber> </subscribers>
subscriberId,msisdn,plan,dataUsage
SUB-1001,447700900142,Unlimited 5G,45.2
SUB-1002,447700900458,Business 200GB,120.5よくある利用シーン
通信のエクスポートを表計算ソフトに読み込む
CDR、SIMプロビジョニングのバッチ、HSSのルックアップは、しばしばXMLで届きます。ExcelやGoogle スプレッドシートで作業するアナリストは生のXMLではなく、ピボットやグラフ化ができるグリッドを求めます。先にCSVへ変換すれば、スクリプトなしで数秒のうちに使い慣れたツールにデータが入ります。
pandasやRにXMLを取り込む
データサイエンティストは通常、pandas.read_csvやRのread.csvで分析を始めます。ソースがXMLの場合、CSVへの手早い変換が最も抵抗の少ない道です――使い捨ての探索のためにコードでXMLツリーを扱うよりずっと簡単です。
カタログや在庫データの移行
ベンダーの製品フィードや在庫ダンプは、しばしば1アイテム1要素のXMLで届きます。CSVアップロードを受け付けるデータベースやEコマースプラットフォームに一括取り込みするには、まずここで変換しましょう。先にソース構造を調整する必要があれば、W3SchoolsのXMLチュートリアルが役立つおさらいになります。
主な機能
- リアルタイム変換 – 入力するそばからCSVが更新されます。クリックするボタンはありません。
- 自動的な行検出 – 最初の繰り返し要素の集合を見つけ、それぞれを行に変換します。1~2階層ネストしていても対応します。
- 列の統合 – ヘッダーは全行で見つかったすべての子要素名を網羅するため、フィールドが欠けたレコードも揃います。
- RFC 4180のエスケープ – カンマ・引用符・改行を含む値を正しくエスケープし、表計算ソフトできれいに解析されます。
- プライバシー最優先 – 解析はすべてDOMParserでブラウザ内で実行され、何もアップロードされません。
よくある質問
どのXML要素が行になりますか?
コンバーターは最初の繰り返し兄弟要素の集合を探し、各出現を行として使います。<subscribers><subscriber>...</subscriber>...</subscribers>のようなドキュメントでは、繰り返される<subscriber>要素が行になり、その子が列になります。
レコードごとにフィールドが違う場合は?
ヘッダーは全行にわたる子要素名の和集合から構築されます。あるレコードに他にはある列が欠けていても、行をずらすのではなくそのセルを空白にします。これによりCSVは矩形を保ち、どの表計算ソフトでも安全に開けます。
XML属性はどう扱われますか?
属性は内部的に@attributesキーの下にまとめられ、列の構築時にスキップされます――そのためCSVの列は属性ではなく子要素から作られます。属性を列にしたい場合は、先にXMLでそれを子要素に昇格させてください。
値の中のカンマや引用符はどうエスケープされますか?
RFC 4180に従い、カンマ・二重引用符・改行を含む値は二重引用符で囲まれ、内部の二重引用符は二重化されます("は""になります)。これはExcelとほとんどのCSVリーダーが期待する規約です。
データは安全ですか?
はい。変換はブラウザのDOMParserを使い、すべてクライアントサイドで実行されます。入力XMLも出力CSVも、ネットワークに送信されたり、キャッシュされたり、ログに記録されたりすることはありません。
関連ツール
- XML to JSON – 同じXMLを表計算ではなくコード向けにJSONへ変換します。
- JSON to CSV – すでにJSONがある場合は、そのままCSVへ展開します。
- JSON to XML – 逆方向に――JSONからXMLを構築します。
- JSON to Table – エクスポート前に構造化データを対話的な表としてプレビューします。
役立つリソース
- RFC 4180 – CSVファイルの共通フォーマットとMIMEタイプ――このツールが従う引用規則。
- W3C XML – XML仕様と関連標準の公式拠点。
- MDN DOMParser – 解析ステップを支えるブラウザAPIのドキュメント。
- pandas read_csv – 得られたCSVをそのままDataFrameに読み込んで分析できます。
- W3Schools XML Tutorial – XPathやXSDの基礎を含む、ステップバイステップのXML入門。
- Stack Overflow XML – XMLの解析や平坦化のエッジケースに関するコミュニティの回答。