首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python - CBOR与NetworkX图

Python - CBOR与NetworkX图
EN

Stack Overflow用户
提问于 2016-02-05 03:15:32
回答 1查看 425关注 0票数 0

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

EN

回答 1

Stack Overflow用户

发布于 2016-02-05 06:57:07

我不知道CBOR的性能如何。据我所知,使用json似乎非常有效。所以我测试了序列化,它工作得很好:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35209635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档