CodeGym /자바 코스 /Python SELF KO /CSV와 Excel 형식으로 데이터 저장하기

CSV와 Excel 형식으로 데이터 저장하기

Python SELF KO
레벨 32 , 레슨 3
사용 가능

1. 저장을 위한 데이터 준비하기

지난 강의에서 우리는 BeautifulSoup 라이브러리를 사용해 웹 페이지에서 데이터를 추출하는 법을 배웠어. 이제 우리가 스크래핑한 데이터를 분석하기 편리한 형식으로 변환해 볼거야. 데이터를 스크립트 안에만 두면 큰 도움이 안 되잖아? 오늘은 데이터를 CSV와 Excel로 저장하는 방법을 배울 거야. 그러니까, 프로그래머의 삶에서 중요한 건 데이터를 "먹이는" 거... 아니, 저장하는 거지.

데이터를 재미있는 표 형식으로 변환하기 전에, 데이터를 내보내기 위해 어떻게 준비해야 하는지 잠시 살펴보자. 보통 우리가 웹 페이지에서 추출한 데이터는 리스트나 딕셔너리 형태야. 가능하면 데이터를 표 형식에 맞게 잘 정리하자.

데이터 예시

다음은 당신이 책에 대한 데이터를 수집했다고 가정하자:

Python

books = [
    {"title": "해리 포터와 마법사의 돌", "author": "조앤 K. 롤링", "price": "350.00"},
    {"title": "반지의 제왕", "author": "J.R.R. 톨킨", "price": "500.00"},
    {"title": "마스터와 마르가리타", "author": "М. А. 불가코프", "price": "450.00"}
]

2. CSV 형식으로 저장하기

CSV (Comma-Separated Values)는 표 데이터를 저장하는 데 사용되는 간단한 텍스트 형식이야. CSV의 각 줄은 하나의 레코드고, 각 열은 쉼표로 구분돼. 우리 데이터를 이 형식으로 저장하는 방법을 알아보자.

csv 라이브러리 사용하기

Python은 csv 모듈이라는 아주 편리한 기능을 제공해서, CSV 파일 작업을 매우 쉽게 만들어줘. 우리의 책 데이터를 CSV로 내보내는 방법은 다음과 같아:

Python

import csv

with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
    writer.writeheader()
    writer.writerows(books)

print("데이터가 books.csv에 저장되었습니다.")

참고: 파일을 w 모드로 열 때 항상 newline=''를 지정하자. 특히 Windows에서는 빈 줄이 추가되는 걸 방지해줘.

CSV에서 데이터 읽기

우리가 만든 데이터를 다시 불러오는 것도 배워보자. CSV에서 데이터를 읽는 방법은 다음과 같아:

Python

with open('books.csv', mode='r', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

3. Excel 형식으로 저장하기

Python에서 Excel 작업을 위해 우리는 pandas 라이브러리를 사용할 거야. pandas를 사용하면 우리의 데이터를 DataFrame으로 쉽게 변환해서 다양한 형식으로, 특히 Excel로 내보낼 수 있어.

pandas 설치하기

아직 pandas를 설치하지 않았다면, pip을 사용해서 설치할 수 있어:

Bash

pip install pandas openpyxl

pandas를 사용해 Excel로 내보내기

이제 우리의 책 데이터를 Excel로 저장해보자:

Python

import pandas as pd

df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')

print("데이터가 books.xlsx에 저장되었습니다.")

Excel에서 데이터 읽기

만든 데이터를 다시 사용하는 기쁨도 중요하니까, Excel에서 데이터를 읽는 법도 배워보자:

Python

df = pd.read_excel('books.xlsx')
print(df)

4. 에러와 에러 처리

프로그래밍의 다른 측면들과 마찬가지로 데이터 내보내기에서 에러가 발생할 수 있어. 가장 흔한 에러는 파일 경로가 잘못되었거나 필요한 라이브러리가 없을 때 발생하지. 예를 들어, openpyxl을 설치하지 않으면 Excel 내보내기가 안 돼.

파일 존재 여부 확인

파일을 쓰거나 읽으려 하기 전에 파일의 존재 여부를 확인하는 게 좋아. 이를 위해 os 모듈을 사용할 수 있어:

Python

import os

if os.path.exists('books.csv'):
    print("파일 books.csv가 존재합니다.")
else:
    print("파일 books.csv를 찾을 수 없습니다.")

믿기 힘들겠지만, 초보자에게 가장 흔한 실수는 기존 데이터를 실수로 덮어쓰는 거야. 파일 기록 자동화는 진정한 예술이야.

또한 try-except를 사용해 에러 처리를 포함시키는 것도 잊지 말자. 그러면 스크립트가 문제가 생기더라도 멈추지 않아.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION