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])
오류 : (그들은 오류 메시지 상태로 unhashable이기 때문에) 당신은 사전 키로 목록을 사용할 수 없습니다
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'
당신이 당신의 질문하여 전체 오류 추적을 업데이트 할 수하십시오
다음은 문제를 피할 수? 이렇게하면 디버깅이 쉬워집니다. –