ホームページ >バックエンド開発 >Python チュートリアル >XML データを Python で Pandas DataFrame に効率的に変換するにはどうすればよいですか?
XML データを扱う場合、多くの場合、そのデータ内の情報を処理して分析することが必要になります。 Pandas は、この目的に便利なツールを提供しており、XML を構造化された DataFrame に変換できます。
次のような XML 構造を考えてみましょう:
<author type="XXX" language="EN" gender="xx" feature="xx" web="foobar.com"> <documents count="N"> <document KEY="e95a9a6c790ecb95e46cf15bee517651">![CDATA[A large text with lots of strings and punctuations symbols [...] ]]></document> <!-- more documents --> </documents> </author>
目標は、この XML を変換することです。キー、タイプ、言語、機能、Web、およびデータの列を含む DataFrame に変換します。
による効率的なアプローチElementTree
これを実現するには、XML を解析する効率的な方法を提供する Python の xml.etree.ElementTree を利用できます。改善されたアプローチは次のとおりです。
import pandas as pd import xml.etree.ElementTree as ET xml_data = "file_path" etree = ET.parse(xml_data) #create an ElementTree object 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 doc_df = pd.DataFrame(list(iter_docs(etree.getroot())))
このアプローチでは、iter_docs ジェネレーター関数を使用して作成者要素と文書要素を反復処理し、関連する属性とデータを抽出します。次に、生成された辞書のリストから DataFrame を作成します。
追加メモ:
ElementTree を使用する利点:
このアプローチに従うことで、pandas DataFrame を使用して複雑な XML データを表形式に効率的に変換し、追加のデータを有効にすることができます。操作と分析。
以上がXML データを Python で Pandas DataFrame に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。