반응형
Python으로 다양한 파일 다루기
Python은 다양한 유형의 파일을 읽고 쓰는 기능을 제공합니다. 이 글에서는 텍스트, 이미지, ZIP, CSV, PDF 파일을 읽고 쓰는 방법을 다룹니다.
1. 텍스트 파일 읽고 쓰기
텍스트 파일은 Python에서 가장 기본적으로 다루는 파일 유형입니다. 간단한 텍스트 파일을 생성하고 읽는 방법을 살펴봅시다.
텍스트 파일 쓰기
# 파일을 쓰기 모드로 열고, 내용을 작성합니다.
with open('example.txt', 'w', encoding='utf-8') as file:
file.write('안녕하세요, Python 파일 처리 예제입니다.')
텍스트 파일 읽기
# 파일을 읽기 모드로 열고, 내용을 읽습니다.
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
2. 이미지 파일 다루기
이미지 파일을 다루기 위해서는 주로 Pillow
라이브러리를 사용합니다. 이 예제에서는 간단한 이미지를 생성하고 저장하는 방법을 보여줍니다.
install : pip install pillow
from PIL import Image
# 새 이미지 생성 및 저장
image = Image.new('RGB', (100, 100), 'green')
image.save('example.png')
3. ZIP 파일 다루기
ZIP 파일은 여러 파일을 압축하여 하나의 파일로 만드는 데 사용됩니다.
Python의 zipfile
모듈을 사용하여 ZIP 파일을 생성하고 추출할 수 있습니다.
ZIP 파일 생성하기
import zipfile
# 여러 파일을 하나의 ZIP 파일로 압축
with zipfile.ZipFile('example.zip', 'w') as zipf:
zipf.write('example.txt')
zipf.write('example.png')
ZIP 파일 추출하기
# ZIP 파일을 추출합니다.
with zipfile.ZipFile('example.zip', 'r') as zipf:
zipf.extractall('extracted')
4. CSV 파일 다루기
CSV (Comma-Separated Values) 파일은 데이터를 저장하기 위한 간단한 파일 형식입니다. Python의 csv
모듈을 사용하여 CSV 파일을 읽고 쓸 수 있습니다.
CSV 파일 쓰기
import csv
# CSV 파일에 데이터 쓰기
with open('example.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['이름', '나이', '직업'])
writer.writerow(['홍길동', '30', '개발자'])
CSV 파일 읽기
# CSV 파일 읽기
with open('example.csv', 'r', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row)
5. PDF 파일 다루기
PDF 파일을 다루기 위해서는 PyPDF2
같은 외부 라이브러리가 필요합니다. 여기서는 간단한 PDF 파일을 읽는 방법을 보여줍니다.
- install :
pip install PyPDF2
import PyPDF2
PDF 파일 읽기
with open('example.pdf', 'rb') as file:
reader = PyPDF2.PdfReader(file)
page = reader.pages[0]
text = page.extract_text()
print(text)
### 6. Pandas 사용하기
Python의 pandas 라이브러리는 데이터 분석에 매우 유용하며, CSV 파일을 쉽게 읽고 처리할 수 있게 해줍니다. 아래는 pandas를 사용하여 CSV 파일을 읽고 그 내용을 출력하는 간단한 예제 코드입니다.
- install : `pip install pandas`
```python
import pandas as pd
# CSV 파일 읽기
df = pd.read_csv('example.csv')
# 헤더 출력
print("CSV 파일의 헤더:", df.columns.tolist())
# 데이터프레임 내용 출력
print(df)
# 'amount' 컬럼의 모든 값을 출력
for index, row in df.iterrows():
print(row['amount'])
# 'amount' 컬럼의 합계 구하기
total_amount = df['amount'].sum()
print("합계:", total_amount)
# 'amount' 컬럼의 평균 구하기
average_amount = df['amount'].mean()
print("평균:", average_amount)
# 최대값은 .max()
# 최소값은 .min()
ㄲ
ㅡ
ㅅ
728x90
반응형
'Python' 카테고리의 다른 글
Python의 메모리 관리 (0) | 2024.08.06 |
---|---|
Python async/await (1) | 2024.01.26 |
[Python] Redis Docker 로 실행하고 Python 으로 사용하기 (0) | 2023.12.16 |
[Python] slack 으로 메시지 보내기 (webhook) (0) | 2023.12.16 |
[FireFox] Selenium "not reachable by keyboard" 오류 해결 (0) | 2023.11.30 |
댓글