添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
import networkx as nx

NetworkX는 다양한 형식의 파일에서 그래프를 읽거나 쓸 수 있다. 자세한 내용은 링크 를 참고.

인접 리스트 형식

인접 리스트(adjacency list)는 가장 단순한 그래프 저장 형식으로서 단순한 텍스트 파일이다.

만약 노드 1 에서 노드 2 와 노드 3 으로 가는 에지가 있다면 파일에 다음과 같은 행을 추가한다.

1 2 3

github.adj 파일을 다운로드 받아, 메모장 등으로 열어서 첫 줄을 보면 다음과 같다.

lines = open('github.adj').readlines()
lines[0]
'u1 u3124 u1814 u5888 u9483 u1527 u9271 u8196 u2653 u4534 u2253 u127 u3071 u3166\n'

읽기

github.adj 파일을 그래프로 읽어들이려면 다음과 같이 한다.

G = nx.read_adjlist('github.adj')

방향 그래프로 읽으려면 create_using=nx.DiGraph를 추가한다.

D = nx.read_adjlist('github.adj', create_using=nx.DiGraph)

u1 노드의 후속 노드들을 확인한다.

list(D.successors('u1'))
['u3124',
 'u1814',
 'u5888',
 'u9483',
 'u1527',
 'u9271',
 'u8196',
 'u2653',
 'u4534',
 'u2253',
 'u127',
 'u3071',
 'u3166']

쓰기

nx.write_adjlist(D, 'github2.adj')