programing

python 사전을 csv 파일로 작성하려면 어떻게 해야 합니까?

newstyles 2023. 6. 18. 12:26

python 사전을 csv 파일로 작성하려면 어떻게 해야 합니까?

저는 제가 해결할 수 없을 것처럼 보이는 아주 쉬운 과제가 있어야 한다고 생각합니다.

python 사전을 csv 파일로 작성하려면 어떻게 해야 합니까?내가 원하는 것은 파일의 맨 위 행에 사전 키를 쓰고 두 번째 행에 키 값을 쓰는 것입니다.

내가 가장 가까이 온 것은 다음과 같습니다(다른 사람의 게시물에서 받은 것).

f = open('mycsvfile.csv','wb')
w = csv.DictWriter(f,my_dict.keys())
w.writerows(my_dict)
f.close()

문제는 위의 코드가 첫 번째 줄의 키만 쓰는 것처럼 보인다는 것입니다.두 번째 줄에 값이 기록되지 않습니다.

아이디어 있어요?

사용 중입니다.DictWriter.writerows()그것은 딕트가 아닌 딕트의 목록을 예상합니다.너는 원한다DictWriter.writerow()한 행을 씁니다.

또한 사용할 수 있습니다.DictWriter.writeheader()CSV 파일의 헤더를 원하는 경우.

파일을 여는 문을 체크아웃할 수도 있습니다.이것은 더 비단결적이고 읽기 쉬울 뿐만 아니라 예외가 발생할 때조차도 여러분을 위해 닫히는 것을 처리합니다.

다음과 같이 변경된 예:

import csv

my_dict = {"test": 1, "testing": 2}

with open('mycsvfile.csv', 'w') as f:  # You will need 'wb' mode in Python 2.x
    w = csv.DictWriter(f, my_dict.keys())
    w.writeheader()
    w.writerow(my_dict)

다음을 생성하는 요소:

test,testing
1,2

당신의 코드는 작동에 매우 가까웠습니다.

DictWriter 대신 일반 csv.writer를 사용해 보십시오.후자는 주로 사전 목록 작성에 사용됩니다.

다음은 각 키/값 쌍을 별도의 행에 기록하는 코드입니다.

import csv

somedict = dict(raymond='red', rachel='blue', matthew='green')
with open('mycsvfile.csv','wb') as f:
    w = csv.writer(f)
    w.writerows(somedict.items())

한 행에 모든 키를 배치하고 다음 행에 모든 값을 배치하려면 다음과 같이 하십시오.

with open('mycsvfile.csv','wb') as f:
    w = csv.writer(f)
    w.writerow(somedict.keys())
    w.writerow(somedict.values())

전문가 팁:이와 같은 코드를 개발할 때, 작성자를 다음과 같이 설정합니다.w = csv.writer(sys.stderr)생성되는 내용을 보다 쉽게 확인할 수 있습니다.논리가 완성되면 다음으로 다시 전환합니다.w = csv.writer(f).

언급URL : https://stackoverflow.com/questions/10373247/how-do-i-write-a-python-dictionary-to-a-csv-file