非常に大きな(〜40GB)XMLファイルを解析し、そこから特定の要素を削除し、結果を新しいxmlファイルに書き出す必要があります。私はPythonのElementTreeからiterparseを使用しようとしてきましたが、私はツリーを変更し、結果のツリーを新しいXMLファイルに書き込む方法について混乱しています。私はitertreeのドキュメントを読んだことがあるが、それは解決されていない。これを行う簡単な方法はありますか?python ElementTreeのitertree関数を使用して、変更されたツリーを出力ファイルに書き込む
ありがとうございました!
EDIT:これまで私がこれまで持っていたことは次のとおりです。
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()
あなたの試行でコードが表示されますか(不完全であっても)?ゼロから何かを書くのではなく、修正すると時間を節約できます。 –
上記の質問にコードを追加しました。 – LateCoder
私は早くそれを見つけました。申し訳ありませんが、私は他のもので忙しいですが、私はすぐに見てお約束します。その間、私はあなたの質問をチャットに持ち込んで、もっと注意を促しました。 –