Ich durchlaufe einen Ordner, finde den Dateinamen und versuche dann, den gefundenen Dateinamen mit einem Wert in einem Wörterbuch zu verknüpfen. Ich werde dann hoffentlich den Wörterbuchwert für jede Datei nehmen und für etwas anderes verwenden.Entsprechender Wörterbuchschlüssel aus einem Listenwert?
Beim Extrahieren des Dateinamens kommt es als Liste heraus.
Der Code unten zeigt genau, was ich bekomme. 'Dateiname' wird als ['2_Daten'] ausgegeben.
Ich muss den entsprechenden Wörterbuchwert zu diesem Listenwert finden. "data2"
Wie würde ich darüber gehen?
# dict
csvdict = ({"1_Data" : "data1",
"_2_data" : "data2",})
# example name
nameData = 'C:/folder/1/2\3\3\CSV Files\\2_data.csv'
csvName = (re.findall('CSV Files[^\w]+([\w\d\s-]+)', nameData))
print(csvName)
wenn ich diesen Code versuchen, erhalte ich eine TypeError: unhashable type: 'list'
Fehler. Ich weiß nicht, wie man den Listenwert in etwas umwandelt, das das Wörterbuch lesen wird.
if csvName in csvdict:
print(csvdict[csvName])
Fehler:
TypeError Traceback (most recent call last)
<ipython-input-71-86fc5d1ebca7> in <module>()
22 #csvdict[fileName]
23 #DICTIONARY ATTMEPT**********************************************************
---> 24 if csvName in csvdict:
25 print(csvdict[csvName])
26
TypeError: unhashable type: 'list'
Können Sie Ihre Frage, die den vollständigen Fehlertrace aktualisieren Sie bitte? Dies erleichtert das Debugging. –