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())))
説明:
追加メモ:
質問で提供されている XML の例は、単一の作成者を想定しています。複数の作成者がいる場合は、追加のジェネレータ関数 iter_author を使用して各作成者を反復処理し、それぞれのドキュメント辞書をすべて生成できます。これには、サンプル コードの最後の行を次のように変更する必要があります。
doc_df = pd.DataFrame(list(iter_author(etree)))
Python での XML の操作に関する詳細については、xml ライブラリ ドキュメントの ElementTree チュートリアルを参照してください。
以上がXML を Pandas DataFrame に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。