안녕하세요🤗 오늘은 Python으로 다양한 파일 형식을 불러오고 저장하는 방법을 소개하는 글을 작성해보려고 합니다!
파이썬으로 데이터 분석이나 머신러닝 작업을 하다 보면 여러 종류의 파일을 마주하게 됩니다. 특히나 LLM(Large Language Model), aka ChatGPT 시대에 접어들면서 기존에 사용하던 CSV파일 이외에도 PDF, PPT 등 다양한 유형의 파일을 로드 및 저장할 일이 많아지고 있습니다!
저도 이번 기회에 한번 정리하고 두고두고 참고 해서 쓰려고 합니다!!✍ 같이 한번 살펴 보시죠 📖
CSV (Comma-Separated Values) 파일은 데이터를 쉼표로 구분하여 저장하는 파일 형식입니다. 주로 데이터 교환이나 간단한 데이터 저장 용도로 사용합니다.
아래 코드로 읽고 저장할 수 있습니다:
import csv
# CSV 파일 불러오기
with open('example.csv', mode='r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
print(row)
# CSV 파일 저장하기
with open('example.csv', mode='w', newline='') as file:
csv_writer = csv.writer(file)
csv_writer.writerow(['Name', 'Age', 'City'])
csv_writer.writerow(['Alice', '24', 'New York'])
csv_writer.writerow(['Bob', '30', 'Los Angeles'])
Excel 파일은 Microsoft Excel에서 사용하는 스프레드시트 파일입니다. 여러 시트와 다양한 서식이 가능합니다.
아래 코드로 읽고 저장할 수 있습니다:
import pandas as pd
# Excel 파일 불러오기
df = pd.read_excel('example.xlsx')
print(df)
# Excel 파일 저장하기
df.to_excel('example_saved.xlsx', index=False)
JSON (JavaScript Object Notation) 파일은 데이터를 구조화된 텍스트 형식으로 저장하는 파일입니다. 주로 웹 애플리케이션에서 데이터 교환용으로 많이 사용됩니다.
아래 코드로 읽고 저장할 수 있습니다:
import json
# JSON 파일 불러오기
with open('example.json', 'r') as file:
data = json.load(file)
print(data)
# JSON 파일 저장하기
with open('example_saved.json', 'w') as file:
json.dump(data, file, indent=4)
이미지 파일은 사진이나 그림 데이터를 저장하는 파일입니다. 여러 포맷이 있지만 대표적으로는 JPG와 PNG 파일이 있습니다.
아래 코드로 읽고 저장할 수 있습니다:
from PIL import Image
# 이미지 파일 불러오기 (JPG, PNG 등)
image = Image.open('example.png')
image.show()
# 이미지 파일 저장하기 (JPG, PNG 등)
image.save('example_saved.png')
텍스트 파일은 순수한 텍스트 데이터를 저장하는 파일입니다. 가장 기본적인 파일 형식 중 하나입니다.
아래 코드로 읽고 저장할 수 있습니다:
# 텍스트 파일 불러오기
with open('example.txt', 'r') as file:
content = file.read()
print(content)
# 텍스트 파일 저장하기
with open('example.txt', 'w') as file:
file.write("이것은 저장될 텍스트입니다.")
YAML (YAML Ain't Markup Language) 파일은 설정 파일이나 데이터 직렬화에 자주 사용되는 형식입니다. 사람이 읽고 쓰기 쉽게 설계되었습니다.
아래 코드로 읽고 저장할 수 있습니다:
import yaml
# YAML 파일 불러오기
with open('example.yaml', 'r') as file:
data = yaml.safe_load(file)
print(data)
# YAML 파일 저장하기
with open('example_saved.yaml', 'w') as file:
yaml.safe_dump(data, file)
피클 파일은 Python 객체를 직렬화하여 저장하는 파일입니다. 나중에 다시 불러올 수 있도록 합니다.
아래 코드로 읽고 저장할 수 있습니다:
import pickle
# 피클 파일 불러오기
with open('example.pkl', 'rb') as file:
data = pickle.load(file)
print(data)
# 피클 파일 저장하기
with open('example_saved.pkl', 'wb') as file:
pickle.dump(data, file)
SQLite 데이터베이스 파일은 경량 SQL 데이터베이스 관리 시스템인 SQLite에서 사용하는 파일입니다. 작고 빠르며 독립적인 데이터베이스 파일로 사용됩니다.
아래 코드로 읽고 저장할 수 있습니다:
import sqlite3
# SQLite 파일 불러오기
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("SELECT * FROM example_table")
rows = cursor.fetchall()
for row in rows:
print(row)
conn.close()
# SQLite 파일 저장하기
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO example_table (name, age) VALUES (?, ?)", ('Charlie', 35))
conn.commit()
conn.close()
HDF5 (Hierarchical Data Format version 5) 파일은 대용량 데이터를 효율적으로 저장하고 관리하기 위한 파일 형식입니다. 과학 데이터에 자주 사용됩니다.
아래 코드로 읽고 저장할 수 있습니다:
import h5py
# HDF5 파일 불러오기
with h5py.File('example.h5', 'r') as file:
data = file['dataset_name'][:]
print(data)
# HDF5 파일 저장하기
with h5py.File('example_saved.h5', 'w') as file:
file.create_dataset('dataset_name', data=data)
MAT 파일은 MATLAB에서 사용하는 파일 포맷으로, MATLAB 작업 환경의 변수를 저장해요.
아래 코드로 읽고 저장할 수 있습니다:
from scipy.io import loadmat, savemat
# MATLAB 파일 불러오기
data = loadmat('file.mat')
print(data)
# MATLAB 파일 저장하기
savemat('file_saved.mat', {'variable_name': data})
XML (eXtensible Markup Language) 파일은 데이터 구조를 표현하기 위한 마크업 언어로, 다양한 데이터 교환 포맷으로 사용돼요.
아래 코드로 읽고 저장할 수 있습니다:
import xml.etree.ElementTree as ET
# XML 파일 불러오기
tree = ET.parse('example.xml')
root = tree.getroot()
for child in root:
print(child.tag, child.attrib)
# XML 파일 저장하기
root = ET.Element("root")
child = ET.SubElement(root, "child")
child.text = "이것은 저장될 텍스트입니다."
tree = ET.ElementTree(root)
tree.write('example_saved.xml')
PPTX 파일은 Microsoft PowerPoint 프레젠테이션 파일 형식이에요. python-pptx
라이브러리를 사용해서 불러오고 저장할 수 있어요.
아래 코드로 읽고 저장할 수 있습니다:
from pptx import Presentation
# PPTX 파일 불러오기
presentation = Presentation('example.pptx')
for slide in presentation.slides:
for shape in slide.shapes:
if shape.has_text_frame:
print(shape.text)
# PPTX 파일 저장하기
presentation.save('example_saved.pptx')
PDF (Portable Document Format) 파일은 Adobe Systems에서 개발한 전자 문서 형식입니다. yPDF2
라이브러리를 사용해서 불러올 수 있습니다.
아래 코드로 읽고 저장할 수 있습니다:
import PyPDF2
def load_pdf(file_path):
with open(file_path, 'rb') as file:
reader = PyPDF2.PdfFileReader(file)
pages = [reader.getPage(i) for i in range(reader.numPages)]
return pages
def create_pdf(pages):
writer = PyPDF2.PdfFileWriter()
for page in pages:
writer.addPage(page)
return writer
def save_pdf(writer, output_path):
with open(output_path, 'wb') as file:
writer.write(file)
# 전체 예시
input_path = 'example.pdf'
output_path = 'new_example.pdf'
# PDF 불러오기
pages = load_pdf(input_path)
# PDF 작성하기
pdf_writer = create_pdf(pages)
# PDF 저장하기
save_pdf(pdf_writer, output_path)
이렇게 다양한 파일 형식을 Python으로 불러오고 저장하는 방법을 알아봤습니다. 이 방법들을 활용하면 여러 유형의 데이터를 손쉽게 다룰 수 있습니다.
궁금한 점이나 추가로 다루고 싶은 파일 형식이 있다면 댓글로 남겨주세요! 😎
감사합니다~~!