非常に大きな (~40GB) XML ファイルを解析し、そこから特定の要素を削除し、結果を新しい xml ファイルに書き込む必要があります。Python の ElementTree から iterparse を使用しようとしてきましたが、ツリーを変更して結果のツリーを新しい XML ファイルに書き込む方法について混乱しています。itertree のドキュメントを読みましたが、解決していません。これを行う簡単な方法はありますか?
ありがとうございました!
編集:これが私がこれまでに持っているものです。
import xml.etree.ElementTree as ET
import re
date_pages = []
f=open('dates_texts.xml', 'w+')
tree = ET.iterparse("sample.xml")
for i, element in tree:
if element.tag == 'page':
for page_element in element:
if page_element.tag == 'revision':
for revision_element in page_element:
if revision_element.tag == '{text':
if len(re.findall('20\d\d', revision_element.text.encode('utf8'))) == 0:
element.clear()