<Python> CSV 다루기

반응형

파이썬에서 CSV 파일 다루기

CSV(Comma-Separated Values)는 쉼표로 구분된 데이터를 저장하는 파일 형식입니다.

CSV는 데이터 익스포트 및 임포트에 많이 사용되며, 다양한 데이터 처리 작업에 이용됩니다.

파이썬에서는 csv 모듈을 사용하여 쉽게 CSV 파일을 다룰 수 있습니다.

csv 모듈 사용법

csv 모듈은 CSV 데이터를 다루기 위한 다양한 기능을 제공합니다.

주로 사용되는 클래스와 메서드는 다음과 같습니다.

  • csv.reader: CSV 파일을 읽기 위한 객체입니다.
  • csv.writer: CSV 파일을 작성하기 위한 객체입니다.
  • csv.DictReader: CSV 파일을 읽고 각 열의 헤더를 사용하여 사전 형식으로 데이터를 반환합니다.
  • csv.DictWriter: 사전 형식의 데이터를 사용하여 CSV 파일을 작성합니다.

CSV 파일 읽기

csv 모듈을 사용하여 CSV 파일을 읽는 방법은 다음과 같습니다.

  1. CSV 파일을 엽니다.
  2. csv.reader 객체를 생성합니다.
  3. reader 객체를 반복하여 각 행의 데이터를 처리합니다.

예시 코드는 다음과 같습니다.

import csv

with open("example.csv", mode="r", newline='', encoding='utf-8') as file:
    reader = csv.reader(file)

    # 헤더를 처리합니다.
    header = next(reader)
    print(f"Header: {header}")

    # 각 행의 데이터를 처리합니다.
    for row in reader:
        print(row)

CSV 파일 작성하기

csv 모듈을 사용하여 새로운 CSV 파일을 작성하는 방법은 다음과 같습니다.

  1. CSV 파일을 생성합니다.
  2. csv.writer 객체를 생성합니다.
  3. writerow 또는 writerows 메서드를 사용하여 데이터를 기록합니다.

예시 코드는 다음과 같습니다.

import csv

data = [
    ["Name", "Age", "City"],
    ["Alice", 30, "New York"],
    ["Bob", 25, "San Francisco"],
    ["Charlie", 22, "Los Angeles"],
]

with open("output.csv", mode="w", newline='', encoding='utf-8') as file:
    writer = csv.writer(file)

    # 데이터를 작성합니다.
    writer.writerows(data)

csv.DictReader 사용하기

csv.DictReader를 사용하면 각 열의 헤더를 사용하여 데이터를 사전 형식으로 반환할 수 있습니다.

예시 코드는 다음과 같습니다.

import csv

with open("example.csv", mode="r", newline='', encoding='utf-8') as file:
    reader = csv.DictReader(file)

    # 각 행의 데이터를 처리합니다.
    for row in reader:
        print(row)

csv.DictWriter 사용하기

csv.DictWriter를 사용하여 사전 형식으로 제공된 데이터를 CSV 파일에 작성할 수 있습니다.

예시 코드는 다음과 같습니다.

import csv

data = [
    {"Name": "Alice", "Age": 30, "City": "New York"},
    {"Name": "Bob", "Age": 25, "City": "San Francisco"},
    {"Name": "Charlie", "Age": 22, "City": "Los Angeles"},
]
header = ["Name", "Age", "City"]

with open("output.csv", mode="w", newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=header)

    # 헤더를 작성합니다.
    writer.writeheader()

    # 데이터를 작성합니다.
    writer.writerows(data)

이 글에서는 파이썬에서 CSV 파일을 다루는 방법을 간단하게 살펴보았습니다.

파이썬의 csv 모듈은 CSV 파일을 읽고 쓰는 데 필요한 다양한 기능을 제공하며, 데이터 처리 작업에 유용하게 활용됩니다.

이를 통해 대용량 데이터를 쉽게 임포트/익스포트할 수 있습니다. 감사합니다.

Designed by JB FACTORY