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

463자
6분

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

파일 형식의 개요

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

텍스트 파일 읽기

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

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

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

텍스트 파일 쓰기

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

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

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

CSV 파일 다루기

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

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

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

JSON 파일 읽기

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

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

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

JSON 파일 쓰기

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

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

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

XML 파일 다루기

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

python
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
import xml.etree.ElementTree as ET
 
# XML 파일 파싱
tree = ET.parse('data.xml')
root = tree.getroot()
 
for child in root:
    print(child.tag, child.attrib)

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

YAML 파일 다루기

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

python
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
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)

연습문제

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

YouTube 영상

채널 보기
관계로 정의하는 곱과 쌍대곱의 기초 | 프로그래머를 위한 카테고리 이론
사이드 이펙트를 가진 함수를 합성할 수 있을까? | 클라이슬리 카테고리 1편 | 프로그래머를 위한 카테고리 이론
쌍대성과 비대칭성 | 프로그래머를 위한 카테고리 이론
합타입 + 곱타입 = 강력한 타입 시스템? 대수적 데이터 타입의 비밀 | 프로그래머를 위한 카테고리 이론
함수 합성을 추상화 할 수 있을까? | 클라이슬리 카테고리 2편 | 프로그래머를 위한 카테고리 이론
동적 모듈 이해하기 | NestJS 가이드
Haskell로 배우는 Writer 모나드 | 클라이슬리 카테고리 마지막편 | 프로그래머를 위한 카테고리 이론
NestJS 모듈 시스템 기초와 구조 | NestJS 가이드