sando o Python Iterparse para grandes arquivos X
Preciso escrever um analisador em Python que possa processar arquivos extremamente grandes (> 2 GB) em um computador sem muita memória (apenas 2 GB). Eu queria usar iterparse no lxml para fazer iss
Meu arquivo está no formato:
<item>
<title>Item 1</title>
<desc>Description 1</desc>
</item>
<item>
<title>Item 2</title>
<desc>Description 2</desc>
</item>
e até agora minha solução é:
from lxml import etree
context = etree.iterparse( MYFILE, tag='item' )
for event, elem in context :
print elem.xpath( 'description/text( )' )
del context
Infelizmente, porém, esta solução ainda está consumindo muita memória. Acho que o problema é que, depois de lidar com cada "ITEM", preciso fazer algo para limpar as crianças vazias. Alguém pode oferecer algumas sugestões sobre o que eu poderia fazer depois de processar meus dados para uma limpeza adequada?