Um einen Vergleich in einem Dictionary machen zu können, muß ich die vierte Spalte dieser Datei (Ausschnitt) bearbeiten.
Code: Alles auswählen
03 127 0135 PATCH-PANEL PATCH-PANEL,-DIGITUS
03 127 0172 PATCH-PANEL PATCH-PANEL,-EQUIP
03 127 0331 PATCH-PANEL PATCH-PANEL,-LOGILINK
03 127 0568 PATCH-PANEL PATCH-PANEL,-TELEGÄRTNER
03 128 0000 INDUSTRIAL-ETHERNET,-PASSIV PATCHKABEL,-KAT.5,-TELEGÄRTNER
03 128 0000 INDUSTRIAL-ETHERNET,-PASSIV PATCHKABEL,-KAT.7,-TELEGÄRTNER
03 128 0000 PATCHKABEL,-KAT.5E,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.5E,-DIGITUS
03 128 0000 PATCHKABEL,-KAT.5E,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.5E,-DRAKA
03 128 0000 PATCHKABEL,-KAT.5E,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.5E,-EQUIP
03 128 0000 PATCHKABEL,-KAT.5E,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.5E,-LOGILINK
03 128 0000 PATCHKABEL,-KAT.6,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.6,-DRAKA
03 128 0000 PATCHKABEL,-KAT.6,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.6,-LOGILINK
03 128 0000 PATCHKABEL,-KAT.7,-ROLLENWARE PATCHKABEL,-ROLLENWARE,-KAT.7,-DRAKA
03 128 0135 INTERNET-KAMERAS-/-WEBCAMS INTERNET-KAMERAS-/-WEBCAMS,-DIGITUS
03 128 0214 INTERNET-KAMERAS-/-WEBCAMS INTERNET-KAMERAS-/-WEBCAMS,-GENIUS
Beispiel:
Da es öfters vorkommt, mehr als nur ein Komma in dem String zu haben, das berücksichtigt werden muß, habe ich ein Konstrukt dazu erstelltINTERNET-KAMERAS-/-WEBCAMS,-DIGITUS
INTERNET-KAMERAS-/-WEBCAMS
Code: Alles auswählen
with codecs.open(subgroupindex_path, "r") as infile:
reader = csv.reader(infile, delimiter="\t", quotechar="^")
subgroupindex = {}
for line in reader:
subgroupindex[line[0], line[1]] = line[2]
with codecs.open(basegroup_path, "r") as infile:
reader = csv.reader(infile, delimiter="\t", quotechar="^")
daten = []
for item in reader:
if ',' in item[4]:
y = item[4].count(',')
y = y - 1
if y > 1:
a = item[4].split(',')[:y]
b = (item[0], a)
p = subgroupindex.get(b, '---')
else:
a = item[4].split(',')[0]
b = (item[0], a)
p = subgroupindex.get(b, '---')
Code: Alles auswählen
if y > 1:
a = item[4].split(',')[:y]
b = (item[0], a)
p = subgroupindex.get(b, '---')
Ich habe mir das eigentlich so vorgestellt, daß wie in diesem BeispielTypeError: unhashable type: 'list'
drei Kommas enthalten sind.PATCHKABEL,-ROLLENWARE,-KAT.5E,-DIGITUS
Also lasse ich die Kommas im String zählen, ziehe vom Ergebnis -1 ab und definiere den neuen String.
Anschließend möchte ich dieses Ergebnis in einem Dictionary vergleichen können.
Was mache ich falsch, bzw. wo ist mein Denkfehler?
Grüße Nobuddy