我正在阅读120个json
个文件,每个文件大约11MB,并将它们转换为单个xml
文件。
我在处理第14个文件的过程中得到MemoryError
。
import xml.etree.ElementTree as ET
import json
weightroot = ET.Element('meandata') # root element
for x in range(60,7141,60):
print "Processing weight for timestep:" + str(x)
intervalTag = ET.SubElement(weightroot, 'interval', begin=str(x), end=str(x+60), id=str(x)) # 2nd element
with open(str(x)+'.json') as data_file:
data = json.load(data_file)
for key, value in data.iteritems():
ET.SubElement(intervalTag, 'edge', {'id': str(key), 'traveltime': str(value)})
weighttree = ET.ElementTree(weightroot)
newWeightFilePath = "weight_5.xml"
weighttree.write(newWeightFilePath)
是否有更高效的内存处理方式?正如您所看到的,我创建了许多SubElement标记,直到最后才写入实际的xml
文件。