ホームページ > バックエンド開発 > Python チュートリアル > XML を Pandas DataFrame に効率的に変換するにはどうすればよいですか?

XML を Pandas DataFrame に効率的に変換するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-30 19:46:11
オリジナル
705 人が閲覧しました

How can I convert XML to a Pandas DataFrame efficiently?

XML を Pandas DataFrame に効率的に変換する

XML ファイルには、Pandas などのツールを使用して分析できる貴重なデータが含まれることがよくあります。 XML ファイルを DataFrame に変換するには、効果的な方法を以下に示します。

import pandas as pd
import xml.etree.ElementTree as ET
import io

def iter_docs(author):
    author_attr = author.attrib
    for doc in author.iter('document'):
        doc_dict = author_attr.copy()
        doc_dict.update(doc.attrib)
        doc_dict['data'] = doc.text
        yield doc_dict

xml_data = io.StringIO(u'''YOUR XML STRING HERE''')

etree = ET.parse(xml_data) #create an ElementTree object
doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
ログイン後にコピー

説明:

  • iter_docs ジェネレーター関数は、 XML ドキュメント。作成者属性、ドキュメント属性、およびドキュメントのテキスト ノードのコンテンツを抽出して、 Dictionary.
  • Pandas DataFrame は、 iter_docs 関数によって生成された辞書のリストから構築されます。

追加メモ:

質問で提供されている XML の例は、単一の作成者を想定しています。複数の作成者がいる場合は、追加のジェネレータ関数 iter_author を使用して各作成者を反復処理し、それぞれのドキュメント辞書をすべて生成できます。これには、サンプル コードの最後の行を次のように変更する必要があります。

doc_df = pd.DataFrame(list(iter_author(etree)))
ログイン後にコピー

Python での XML の操作に関する詳細については、xml ライブラリ ドキュメントの ElementTree チュートリアルを参照してください。

以上がXML を Pandas DataFrame に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート