繁体   English   中英

Python-带NetworkX图的CBOR

[英]Python - CBOR with NetworkX Graph

是否可以在CBOR对象中存储Networkx Graph对象(通过CBOR序列化数据)? 我有相当大的NetworkX图,需要进行序列化和存储以进行进一步分析。 泡菜似乎太慢,并且创建的文件太大。 我没有看到足够的CBOR文档来正确确定我的任务是否可行。

我不知道CBOR的表现。 从我阅读的内容来看,使用json似乎非常有效。 所以我测试了序列化,它可以完美地工作:

from networkx.readwrite import json_graph
import cbor

G = nx.Graph()
G.add_weighted_edges_from([('a1', 'a2', 1.0), ('a2', 'a3', 0.5), 
                           ('a3', 'a5', 1.0), ('a4', 'a8', 1.0), ('a8', 'a9', 0.8)])

# Serialize graph
res = json_graph.node_link_data(G)  # export Networkx to JSON
serialized = cbor.dumps(res)  # serialize in binary format

deserialized = cbor.loads(serialized)  # deserialize
H = json_graph.node_link_graph(deserialized)  # Get back to original graph

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM