ℕʘʘ*_*ḆḽḘ 5 python csv networkx
我是Python的完整noobie,我想使用networkx包研究数据集.我不明白这里有什么问题:
我有一个看起来像这样的csv(摘录):
['152027', '-6167']
['152027', '-4982']
['152027', '-3810']
['152027', '-2288']
['152027', '-1253']
['152100', '-152100']
['152100', '-86127']
Run Code Online (Sandbox Code Playgroud)
我们可以调用这个.csv文件nodes.数字继承人没有特别的意义.它们只是匿名的名称:所以152027是个人连接到个人-6167,个人-4982等.
我在Python中使用以下代码
import csv
import networkx as nx
file = csv.reader(open('nodes', 'rb'), delimiter=',')
G=nx.read_edgelist(file, delimiter=',',nodetype=float,encoding='utf-8')
G.number_of_nodes()
Run Code Online (Sandbox Code Playgroud)
我很难过,Out[71]: 0
我不明白这里有什么问题.请你帮助我好吗?
Hug*_*ell 12
nx.read_edgelist期望第一个变量是文件句柄或文件名字符串,而不是csv.reader对象.
完全不要使用csv; 试试吧
G = nx.read_edgelist('nodes', delimiter=',', nodetype=int, encoding="utf-8")
Run Code Online (Sandbox Code Playgroud)
编辑:如果你需要跳过标题行,你可以这样做
with open('nodes', 'rb') as inf:
next(inf, '') # skip a line
G = nx.read_edgelist(inf, delimiter=',', nodetype=int, encoding="utf-8")
Run Code Online (Sandbox Code Playgroud)