我有一个边缘列表,我正在尝试使用networkx中的adamic_adar_index预测链接。文档说它返回一个迭代器对象。我想将结果保存到csv文件,但无法弄清楚如何"解包"行。
边缘列表如下所示:
Bob Smith,Ted Jones
卡罗尔汤普森,爱丽丝约翰逊这是我尝试过的:
import csv
import networkx as nx
G = nx.read_edgelist("fakeedge3.txt", delimiter=",", create_using=nx.Graph(), nodetype=str)
pred = nx.adamic_adar_index(G)
#If I print, I get exactly what I want
print(sorted(pred, key=lambda pred: pred[2], reverse=True))
#But if I try to write to CSV I get a blank spreadsheet
with open ("testpred.csv", "w") as f:
predWriter = csv.writer(f)
for row in pred:
predWriter.writerow(row)
我意识到这与迭代器对象有关,但我想知道为什么我不能用csv.writer迭代它,就像我对print函数一样。