Ich bin noch ziemlich neu in der Materie und habe mich vor kurzem durch das Skript "A Byte of Python" durchgearbeitet um einen ersten Einblck zu erlangen.
Nun stehe ich vor meiner ersten echten Aufgabe und ich stelle fest, dass ich doch nicht so viel weiß wie ich zunächst dachte.
Folgendes Problem: Ich habe eine csv Datei mit 12 Spalten und knapp 2000 Zeilen (Klassifikation von Produkten in einem Lager mit einer bestimmten Hierarchie). Ziel soll es sein diese Klassifikation in eine .owl Datei zu überführen.
Da mich momentan jedoch nur die ersten beiden Spalten (ID und kodierter Name) interessieren muss ich diese irgendwie in ein Dictionary bekommen wobei die die ID den Schlüssel und der kodierte name den Wert (ID:kodierter Name)darstellen soll.
Bisher bin ich so weit gekommen:
Lösungsansatz1:
Code: Alles auswählen
import csv
reader = csv.reader(open("datei.csv", "r"))
for row in reader:
print row
Ansatz2:
Code: Alles auswählen
import csv
content = csv.reader(open("datei.csv", 'r'), delimiter=';')
keys = content.next()
data = [dict(zip(keys, line)) for line in content]
print data
Ansatz3: (Ist am übersichtlichsten)
Code: Alles auswählen
import csv
spamReader = csv.reader(open('datei.csv', 'r'), delimiter=';', quotechar='|')
for row in spamReader:
print ' '.join(row)
Das Dictionary aus den jeweiligen zeileneinträgen der 1. und 2. Spalte sollte dann noch am besten hierarchisch gemäß dem Lager sortiert werden, d.h. nach dem kodierten Namen.
Danke für Eure Tipps/Hilfe!!
Grüße,
Tobias