read_edgelist#

read_edgelist(path, comments='#', delimiter=None, create_using=None, nodetype=None, data=True, edgetype=None, encoding='utf-8')[source]#

从边列表读取二分图。

参数:
path文件或字符串

要读取的文件或文件名。如果提供的是文件,则必须以“rb”模式打开。以 .gz 或 .bz2 结尾的文件名将进行解压缩。

comments字符串,可选

用于指示注释开头的字符。

delimiter字符串,可选

用于分隔值的字符串。默认是空白字符。

create_using图容器,可选

使用指定的容器构建图。默认是 networkx.Graph,一个无向图。

nodetypeint, float, str, Python 类型,可选

将节点数据从字符串转换为指定类型

data布尔值或 (标签,类型) 元组列表

指定边数据的字典键名和类型的元组

edgetypeint, float, str, Python 类型,可选 已废弃

将边数据从字符串转换为指定类型并用作“权重”

encoding: 字符串,可选

指定读取文件时使用的编码。

返回值:
G

一个 networkx Graph 或通过 create_using 指定的其他类型

另请参阅

parse_edgelist

注意

由于节点必须是可哈希的,因此 nodetype 函数必须返回可哈希类型(例如 int, float, str, frozenset - 或它们的元组等)。

示例

>>> from networkx.algorithms import bipartite
>>> G = nx.path_graph(4)
>>> G.add_nodes_from([0, 2], bipartite=0)
>>> G.add_nodes_from([1, 3], bipartite=1)
>>> bipartite.write_edgelist(G, "test.edgelist")
>>> G = bipartite.read_edgelist("test.edgelist")
>>> fh = open("test.edgelist", "rb")
>>> G = bipartite.read_edgelist(fh)
>>> fh.close()
>>> G = bipartite.read_edgelist("test.edgelist", nodetype=int)

带有列表数据的边列表

>>> textline = "1 2 3"
>>> fh = open("test.edgelist", "w")
>>> d = fh.write(textline)
>>> fh.close()
>>> G = bipartite.read_edgelist(
...     "test.edgelist", nodetype=int, data=(("weight", float),)
... )
>>> list(G)
[1, 2]
>>> list(G.edges(data=True))
[(1, 2, {'weight': 3.0})]

有关更多格式示例,请参阅 parse_edgelist()。