Python에서 CSV에 사전 쓰기

Rayven Esplanada 2021년7월18일
Python에서 CSV에 사전 쓰기

이 튜토리얼은 파이썬에서 csv 파일에 사전 변수를 작성하는 방법을 소개합니다.

csv 모듈을 사용하여 Python에서 CSV 파일에 사전 쓰기

Python 모듈 csv에는 csv 파일을 조작하는 도구와 함수가 포함되어 있습니다. csv 파일에 딕셔너리를 쓰는 데 사용할 수있는 두 가지 쉬운 방법이 있습니다 :writer()DictWriter().

이 두 가지 방법은 유사한 기능을 가지고 있습니다. 유일한 차이점은DictWriter()가 더 많은 함수를 포함하는 래퍼 클래스라는 것입니다.

몇 개의 키-값 쌍이있는 단일 사전으로 초기 예제를 설정해 보겠습니다.

dct = {"Name": "John", "Age": "23", "Country": "USA"}

첫 번째 예에서는writer()를 사용하여 새 csv 파일에 액세스하고 그 안에 사전을 삽입합니다.

import csv

dct = {"Name": "John", "Age": "23", "Country": "USA"}

with open("dct.csv", "w") as f:
    writer = csv.writer(f)
    for k, v in dct.items():
        writer.writerow([k, v])

파일 액세스 유형이 w이므로 csv 파일 dct.csv의 내용이 새 변경 사항으로 대체됩니다. 파일이 존재하지 않으면 동일한 디렉토리에 자동으로 생성됩니다.

csv 파일의 내용은 다음과 같이 출력됩니다.

CSV 파일

사전 항목이 하나만 있기 때문에 csv 파일의 레이아웃에는 첫 번째 열의 모든 키가 포함되고 값은 두 번째 열에 있습니다.

사전 배열 사용의 예

그것은 단일 사전의 예였습니다. 단일 csv 파일에 여러 사전을 삽입하려면 어떻게해야합니까?

이 예에서DictWriter()함수는 csv 파일에 쓰는 데 사용됩니다. 첫 번째 예의 CSV 레이아웃도 동일한 키를 가진 여러 값이 있으므로 변경해야합니다.

첫 번째 행에는 키 레이블이 포함되어야하며 결과 행에는 각 사전 항목의 값이 포함됩니다.

먼저 동일한 키 값을 가진 사전 배열을 선언합니다.

dct_arr = [
    {"Name": "John", "Age": "23", "Country": "USA"},
    {"Name": "Jose", "Age": "44", "Country": "Spain"},
    {"Name": "Anne", "Age": "29", "Country": "UK"},
    {"Name": "Lee", "Age": "35", "Country": "Japan"},
]

이제csv 모듈과DictWriter()를 사용하여이 사전 배열을 csv 파일에 씁니다.

import csv

labels = ["Name", "Age", "Country"]
dct_arr = [
    {"Name": "John", "Age": "23", "Country": "USA"},
    {"Name": "Jose", "Age": "44", "Country": "Spain"},
    {"Name": "Anne", "Age": "29", "Country": "UK"},
    {"Name": "Lee", "Age": "35", "Country": "Japan"},
]

try:
    with open("csv_dct.csv", "w") as f:
        writer = csv.DictWriter(f, fieldnames=labels)
        writer.writeheader()
        for elem in dct_arr:
            writer.writerow(elem)
except IOError:
    print("I/O error")

DictWriter()의 매개 변수fieldnames에는 사전의 키 레이블 배열의 배열 인labels 변수가 할당됩니다.

예외 처리 (try ... except)로 파일을 조작하는 코드 래핑을 연습하는 것도 좋습니다. 파일 쓰기 프로세스와 관련하여 외부 오류 또는 비 호환성이있는 경우입니다.

출력:

CSV 파일 어레이

요약하면csv 모듈에는 사전을 csv 파일에 쓰는 데 필요한 모든 기능과 도구가 포함되어 있습니다. writer()DictWriter()함수를 사용하면이 작업을 쉽게 수행 할 수 있습니다.

IO 오류가 무언가를 깨기 전에 잡히도록 예외 처리로 파일을 조작하는 블록을 래핑하는 것도 좋습니다.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python CSV

관련 문장 - Python Dictionary