제 목표는 사전을 파이썬으로 만드는 것입니다. 나는 두 열을 포함하는 .csv 파일을 가지고 있는데, 첫 번째 단어는 '단어'이고 다른 하나는 '의미'입니다. 나는 사전 형식으로 CSV 파일을 읽고 '단어'가 주어지면 '의미'를 얻으려고합니다.사전 만들기
'단어'의 가치를 얻는 방법을 알려주시겠습니까? 이것이 내가 뭘하려 :
내 코드는,
>>> with open('wordlist.csv', mode = 'r') as infile:
... reader = csv.reader(infile)
... with open('wordlist.csv', mode = 'w') as outfile:
... writer = csv.writer(outfile)
... mydict = {rows[0]:rows[1] for rows in reader}
... print(mydict)
...
을 그 결과, 밝혀 I이었다 시도
{}
다음 하나,
>>> reader = csv.reader(open('wordlist.csv', 'r'))
>>> d = {}
>>> for row in reader:
... k, v = row
... d[k] = v
...
그러나 이것을 사용하고 싶을 때 결과는 다음과 같았습니다.
>>> d['Try']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Try'
I이었다 시도 다음 코드
>>> reader = csv.DictReader(open('wordlist.csv'))
>>> result = {}
>>> for row in reader:
... key = row.pop('word')
... if key in result:
... pass
... result[key] = row
... print result
...
그것은 전혀 나에게 어떤 대답을하지 않았다.
>>> for row in reader:
... for column, value in row.iteritems():
... result.setdefault(column, []).append(value)
... print result
...
이 나에게 결과를주지 않았다 나도.
상단에 헤더 행이 있습니까? 얼마나? 가능한 경우 읽으려는 CSV 파일의 상단에서 몇 줄의 예를 제공하십시오. 그게 왜 작동하지 않는지 알 수 있습니다. –
첫 번째 코드는 'final_word.csv' 파일을 열어 읽은 다음 다시 열어 * writing * 파일을 열어 파일의 내용을 지 웁니다. 그건 네가 원하는 것처럼 보이지 않아. – DSM
실제로, DSM이 지적한 문제에 비추어 볼 때, 나는 그 파일이 나중의 테스트에서 비어 있다고 의심합니다! 백업 복사본을 준비해줬으면합니다. 파일의 내용이 무엇인지에 따라 최신 버전의 코드가 작동하거나 작동하지 않을 수 있습니다. 예를 들어 헤더 행이 있습니까? 중복 된 '단어'값을 가지고 있습니까 (그렇다면 어떻게 처리할까요?)? – Blckknght