擅长:python、mysql、java
<p>有一个python模块来处理graphml。
奇怪的是,<a href="http://hadim.fr/pygraphml/reference.html#" rel="nofollow noreferrer">documentation</a>没有<code>remove</code>或<code>delete</code>函数。在</p>
<p>因为graphml是xml标记,所以可以改用xml模块。
我用过<a href="https://github.com/martinblech/xmltodict" rel="nofollow noreferrer">xmltodict</a>,非常喜欢。
此模块允许您将xml代码加载到python对象。修改对象后,可以将其保存回xml。在</p>
<p>如果<code>data</code>是包含xml的字符串:</p>
<pre><code>data_object=xmltodict.parse(data)
del data_object["graphml"]["graph"]["node"]
xmltodict.unparse(data_object, pretty=True)
</code></pre>
<p>这将删除<code>node</code>项,unparse将返回一个包含xml的字符串。在</p>
<p>如果xml的结构变得更复杂,则需要搜索<code>data_object</code>中的节点。但这不应该是个问题,它只是一本有序的字典。在</p>
<p>另一个问题可能是xml的大小。3GB是很多。
xmltodict确实支持大文件的流模式,但这是我从未使用过的。在</p>