0
私はフォルダをループしてファイル名を見つけて、見つかったファイル名を辞書の値に関連づけようとしています。私はうまくいけば各ファイルの辞書の価値を取って、それを別のもののために使うでしょう。単一のリスト値からの対応する辞書キー?
ファイル名を抽出すると、リストとして出力されます。
以下のコードは、私が得るものを正確に示しています。 'fileName'は['2_data']として出力されます。
対応する辞書の値をこのリストの値から見つける必要があります。 "data2"
どうすればいいですか?
# 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)
私はTypeError: unhashable type: 'list'
エラーを取得し、このコードを試してみてください。リストの値を辞書が読み込むものに変換する方法がわかりません。
if csvName in csvdict:
print(csvdict[csvName])
エラー:
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'
あなたの質問完全なエラー・トレースを更新することができますしてください:
以下は、この問題を回避しますか?これにより、デバッグが容易になります。 –