【发布时间】:2022-01-24 21:47:01
【问题描述】:
我可以使用重复键创建 xml 并遵循建议的答案
python dicttoxml same key multiple times
但是当我使用超过 100 万条记录时,它会遇到严重的性能问题。
class Node():
"""
creating class to convert dictionary to xml
Returns:
Node : object which contain child tag name
"""
__slots__ = ['_name']
def __init__(self, name):
self._name = name
def __str__(self):
return self._name
def __hash__(self):
return hash(self._name)
我尝试更新节点类(上图),但没有得到有效的时间改进。
稍后我会转到建议使用默认值的链接,这确实更快,数据处理时间不到 5 分钟
Why is dictionary lookup in Python always slower when using user defined objects as keys?
{ 'data' : { 'check' : {'error' : ['data1', 'data2'] } } }
<data>
<check>
<error>
<item> data1 </item>
<item> data2 </item>
</error>
</check>
</data>
但我正在寻找以下方式的 xml。反正有没有得到以下xml。
<data>
<check>
<error> data1 </error>
<error> data2 </error>
</check>
</data>
节点类字典
{'data' : {Node('check') : { Node('error') : "data1", Node('error') : "data2" } } }
with open(fpath, "w") as fxml:
vio_xml_data = dicttoxml(vio_data)
dom = parseString(vio_xml_data)
fxml.writelines(dom.toprettyxml())
【问题讨论】:
-
您可以尝试此答案中的第二个选项stackoverflow.com/a/11141570/7868736
-
你在用这些课程做什么?如果没有特定代码,我不知道你在问什么
标签: python python-3.x