read_edgelist#

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

从边列表读取图数据。

Parameters:
path文件或字符串

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

comments字符串, 可选

用于指示注释开始的字符。若不希望任何字符被视为注释,请使用 comments=None

delimiter字符串, 可选

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

create_usingNetworkX图构造函数, 可选 (默认=nx.Graph)

要创建的图类型。如果是图实例,则在填充前清空。

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

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

databool 或 列表 of (标签,类型) 元组

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

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

将边数据从字符串转换为指定类型并作为’weight’使用

encoding: 字符串, 可选

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

Returns:
G

一个NetworkX图或其他由create_using指定的类型

Notes

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

Examples

>>> nx.write_edgelist(nx.path_graph(4), "test.edgelist")
>>> G = nx.read_edgelist("test.edgelist")
>>> fh = open("test.edgelist", "rb")
>>> G = nx.read_edgelist(fh)
>>> fh.close()
>>> G = nx.read_edgelist("test.edgelist", nodetype=int)
>>> G = nx.read_edgelist("test.edgelist", create_using=nx.DiGraph)

包含数据的边列表示例:

>>> textline = "1 2 3"
>>> fh = open("test.edgelist", "w")
>>> d = fh.write(textline)
>>> fh.close()
>>> G = nx.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()。