본문 바로가기
PYTHON/고급학습

고급 8편] 파이썬으로 CSV 파일 자동 분석 리포트 만들기.zip

by Kim.Sung 2025. 5. 19.

이번 편에서는 자주 사용하는 CSV 파일을  
파이썬으로 자동 분석하고,  
그 결과를 정리해서 보고서 형태로 저장하는  
**완성형 자동화 루틴**을 만들어봅니다.


이 구조는 반복 업무 자동화, 보고서 작성, 로그 확인 등  
실무에서 매우 다양하게 활용할 수 있습니다.

📁 시나리오 예시

- `input_data/` 폴더에 CSV 파일이 들어오면  
- 자동으로 열고 요약 분석 수행  
- 분석 결과를 `report/` 폴더에 텍스트 파일로 저장

🧠 분석 내용 예시

- 컬럼별 평균값, 최대/최소값  
- 특정 조건에 맞는 행 개수  
- 데이터 수, 결측치 개수 등 요약

📦 필요한 패키지

```
pip install pandas
```

🐍 파이썬 코드 예시

```python
import os
import pandas as pd
from datetime import datetime

input_folder = 'input_data'
report_folder = 'report'
os.makedirs(report_folder, exist_ok=True)

def analyze_csv(file_path):
    df = pd.read_csv(file_path)
    filename = os.path.basename(file_path)
    summary = []

    summary.append(f'# 파일명: {filename}')
    summary.append(f'- 총 행 수: {len(df)}')
    summary.append(f'- 총 컬럼 수: {len(df.columns)}')
    summary.append('')

    for col in df.select_dtypes(include='number').columns:
        summary.append(f'컬럼: {col}')
        summary.append(f'  평균: {df[col].mean():.2f}')
        summary.append(f'  최대: {df[col].max()}')
        summary.append(f'  최소: {df[col].min()}')
        summary.append('')

    report_name = f'report_{datetime.now().strftime("%Y%m%d_%H%M%S")}.txt'
    report_path = os.path.join(report_folder, report_name)

    with open(report_path, 'w', encoding='utf-8') as f:
        f.write('\n'.join(summary))
    print(f'✅ 분석 완료: {report_path}')

if __name__ == '__main__':
    for file in os.listdir(input_folder):
        if file.endswith('.csv'):
            analyze_csv(os.path.join(input_folder, file))
```

📌 자동화 팁

- `input_data` 폴더는 감시 구조(watchdog)로 연결하면 완전 자동화 가능  
- 분석 결과를 `.txt` 대신 `.xlsx`, `.md`, `.html`로도 저장 가능  
- 텔레그램 알림과도 연계 가능

🎯 응용 포인트

- 정기 데이터 리포트 자동 작성  
- 여러 CSV를 일괄 분석  
- 센서 로그, 설문 결과, 판매 내역 자동 처리

자동으로 분석해주는 파이썬 리포터가 있다면  
더 이상 반복 업무에 시간을 쓰지 않아도 됩니다.