1
我正在將大塊數據從數據庫寫入到XML文件。我使用Python和它的lxml庫來創建文件。 我注意到它是在內存中生成整個XML文件,然後輸出到文件的最後,有沒有辦法爲每X個數據庫對象轉儲xml文件?使用Python連續寫入輸出文件lxml
import lxml.etree as etree
import os
root = etree.Element('root')
db_obj1 = etree.SubElement(root, 'item')
db_obj2 = etree.SubElement(root, 'item')
db_obj3 = etree.SubElement(root, 'item')
et = etree.ElementTree(root)
et.write(sys.stdout)
我試着ElemenTree()。write()方法,但無法找到如何在http://lxml.de/api/lxml.etree._ElementTree-class.html做到這一點的文檔中的任何設置或最佳實踐。
尋求減少總內存佔用量。
爲什麼要將數據庫轉儲爲XML?您可能會考慮寫入更自然的矩形格式,如CSV或HDF5或其他可以完全避免此問題的格式,以及爲磁盤上的數據提供更具空間效率和規則的格式。 –
與傳統系統@JohnZwinck集成,無法更改此設置。 – Niklas9