我试图在Google Colab的Jupyter版本中阅读this pajek file,并且在执行以下非常简单的代码时遇到错误:
for (int i =0; i<count; i++) {
series1.add(new Task(Names.get(i),
Date.from(LocalDate.of(Dates.get(i).getYear(), Dates.get(i).getMonth(),Dates.get(i).getDay()).atStartOfDay().toInstant(ZoneOffset.UTC)),
Date.from(LocalDate.of(Dates.get(i+1).getYear(),Dates.get(i+1).getMonth(),Dates.get(i+1).getDay()).atStartOfDay().toInstant(ZoneOffset.UTC))
)
);
}
错误如下:
J = nx.MultiDiGraph()
J=nx.read_pajek("/content/data/graphdatasets/jazz.net")
print(nx.info(J))
使用/usr/local/lib/python3.6/dist-packages/networkx/readwrite/pajek.py in parse_pajek(lines)
211 except AttributeError:
212 splitline = shlex.split(str(l))
--> 213 id, label = splitline[0:2]
214 labels.append(label)
215 G.add_node(label)
ValueError: not enough values to unpack (expected 2, got 1)
,我看到我正在运行Networkx版本:2.3。我在代码中做错了吗?
答案 0 :(得分:0)
根据Pajek definition,文件的前两行不符合标准。在*vertices n
之后,期望n行包含有关顶点的详细信息。另外,*edges
和*arcs
是重复的。 NetworkX
假定使用以*arcs
和MultiDiGraph
开头的边缘列表,以及*edges
和MultiGraph
开头的边缘列表(请参阅当前的code)。要解决您的问题,只需删除.net
文件的前两行。