我正在使用库读取一个 50GB 的XML
文件(由blastall
调用产生)NCBIXML
blasthandle = open( blastfile, 'r' )
blast_records = NCBIXML.parse( blasthandle )
for record in blast_records:
get some infos from the record ...
读取文件并没有那么慢,但我想对数据执行一些其他操作(将其保存到文本文件,将其放入数组中,...)
我可以用来执行此类任务的最佳 python 结构是什么,目前我正在使用普通数组,但它似乎很慢而且由于内存问题我无法将数据保存到文本文件中
任何帮助,将不胜感激。
编辑 我试过这个
blasthandle = open( blastfile, 'r' )
for event, element in ET.iterparse(blasthandle):
for child in element:
print child.tag, child.text
element.clear()
编辑 2
感谢 Martin,更新库解决了问题