🔥 다양한 파일 형식 다루기 (텍스트, CSV, JSON)

463자
6분

파이썬(Python)에서 다양한 파일 형식을 다루는 방법을 배우는 것은 데이터 처리와 분석에 있어 필수적입니다. 텍스트, CSV, JSON 파일은 가장 일반적으로 사용되는 파일 형식들입니다. 이번 장에서는 이들 파일 형식을 파이썬으로 어떻게 읽고 쓰는지에 대해 자세히 알아보겠습니다. 각 섹션마다 실제 코드 예제를 통해 이해를 돕고, 다양한 연습문제로 학습을 심화시킵니다.

파일 형식의 개요

텍스트 파일은 가장 기본적인 파일 형식으로, 단순한 텍스트 데이터를 저장합니다. CSV(Comma-Separated Values) 파일은 값들이 쉼표로 구분되어 있는 텍스트 파일의 한 형태로, 표 형식의 데이터를 저장하는 데 사용됩니다. JSON(JavaScript Object Notation) 파일은 데이터를 객체 구조로 표현하는 경량의 데이터 교환 형식으로, 웹 개발에서 널리 사용됩니다.

텍스트 파일 읽기

텍스트 파일을 읽는 것은 파이썬에서 가장 기본적인 파일 작업 중 하나입니다.

# 텍스트 파일 읽기 예제
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
python

이 코드는 'example.txt' 파일의 내용을 읽어서 출력합니다.

텍스트 파일 쓰기

텍스트 파일에 데이터를 쓰는 것도 간단합니다.

# 텍스트 파일 쓰기 예제
with open('newfile.txt', 'w') as file:
    file.write("새로운 내용을 여기에 작성합니다.")
python

이 코드는 'newfile.txt'라는 새 파일을 생성하고, 주어진 문자열을 씁니다.

CSV 파일 다루기

CSV 파일은 pandas 라이브러리를 사용하여 쉽게 읽고 쓸 수 있습니다.

import pandas as pd
 
# CSV 파일 읽기
df = pd.read_csv('data.csv')
print(df)
 
# CSV 파일 쓰기
df.to_csv('new_data.csv', index=False)
python

pd.read_csv() 함수로 CSV 파일을 읽고, df.to_csv() 메소드로 데이터프레임을 CSV 파일로 저장합니다.

JSON 파일 읽기

JSON 파일을 읽기 위해서는 json 모듈을 사용합니다.

import json
 
# JSON 파일 읽기 예제
with open('data.json', 'r') as file:
    data = json.load(file)
    print(data)
python

이 코드는 'data.json' 파일의 내용을 파이썬 객체로 변환하여 출력합니다.

JSON 파일 쓰기

JSON 파일에 데이터를 쓸 때도 json 모듈을 사용합니다.

import json
 
# JSON 파일 쓰기 예제
data = {'name': 'John', 'age': 30}
with open('new_data.json', 'w') as file:
    json.dump(data, file)
python

이 예제는 파이썬 딕셔너리를 JSON 파일로 저장합니다.

XML 파일 다루기

XML(eXtensible Markup Language) 파일은 웹 데이터 교환 형식으로 널리 사용됩니다. 파이썬에서는 xml.etree.ElementTree 모듈을 이용하여 XML 파일을 다룰 수 있습니다.

import xml.etree.ElementTree as ET
 
# XML 파일 파싱
tree = ET.parse('data.xml')
root = tree.getroot()
 
for child in root:
    print(child.tag, child.attrib)
python

이 코드는 'data.xml' 파일을 파싱하고, 각 요소의 태그와 속성을 출력합니다.

YAML 파일 다루기

YAML(Ain't Markup Language)은 설정 파일 등에 널리 사용되는 데이터 직렬화 형식입니다. PyYAML 라이브러리를 사용하여 YAML 파일을 읽고 쓸 수 있습니다.

import yaml
 
# YAML 파일 읽기
with open('config.yaml', 'r') as file:
    config = yaml.safe_load(file)
    print(config)
 
# YAML 파일 쓰기
config = {'setting1': 'value1', 'setting2': 'value2'}
with open('new_config.yaml', 'w') as file:
    yaml.dump(config, file)
python

연습문제

  1. 여러분의 이력서를 텍스트 파일로 작성하고 읽어보세요.
  2. 간단한 주소록 정보를 담고 있는 CSV 파일을 만들고, 이를 읽어 파이썬에서 출력하세요.
  3. 여러분의 취미와 관심사를 JSON 형식으로 작성하고, 이를 파일로 저장한 후 다시 읽어보세요.
  4. XML 파일을 만들어 요소와 속성을 추가해보고, 이를 파이썬으로 파싱해보세요.
  5. 여러분이 자주 사용하는 설정을 YAML 파일로 작성하고, 파이썬으로 읽어 설정 값을 출력해보세요.