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
'programing' 카테고리의 다른 글
int*i와 int*i의 차이 (0) | 2023.06.18 |
---|---|
웹 API에서 요청과 일치하는 여러 작업이 발견되었습니다. (0) | 2023.06.18 |
C의 for(;;) 루프에서 여러 변수를 선언하려면 어떻게 해야 합니까? (0) | 2023.06.18 |
WordPress에서 작성자 기반을 제거하는 방법 (0) | 2023.06.18 |
Firebase 인증 사용자 UID를 가져올 수 있는 방법이 있습니까? (0) | 2023.06.18 |