2017-06-27 2 views
0

zugreifen Ich habe .csv-Datensatz, der zwei Spalten hat, jede Spalte hat Knoten und eine Zeile dieser Datei stellt eine Beziehung zwischen den beiden Knoten. Ich möchte es verwenden, um ein Diagramm mit Pythons networkx Bibliothek zu erstellen, aber ich konnte nicht herausfinden, wie man jede Zelle jeder Spalte in einer Reihe erreicht. Hier ist mein Code.Wie auf jede Spalte in CSV-Datei mit Python

import networkx as nx 
import csv 
G = nx.Graph() 
with open('/pathToTheFile/edges.csv', newline='') as f: 
    reader = csv.reader(f) 
    counter = 0 
    for row in reader: 
     G.add_edge()#I will pass two nodes here to add an edge between them 
     counter += 1 
     if counter >= 65535: 
      break 

Antwort

0

Wenn Sie über eine CSV-Leser durchlaufen, erhalten Sie jede Zeile der Datei als eine Liste. So können Sie die Indexierung verwenden, um auf die 0. und 1. Zelle in einer Reihe zuzugreifen und eine Kante zwischen ihnen zu erstellen.

import networkx as nx 
import csv 
G = nx.Graph() 
with open('csv-networkx.csv', newline='') as f: 
    reader = csv.reader(f) 
    counter = 0 
    for row in reader: # row is a list of the cells in this row. 
     G.add_edge(row[0], row[1]) 
     counter += 1 
     if counter >= 65535: 
      break 
0

Da es sich um eine CSV ist, können Sie es mit Komma aufgeteilt:

values = row.split(',') 
# 1st column value in row: 
values[0] 
# 2nd column value in row 
values[1] 
Verwandte Themen