본문 바로가기
[IT]

엑셀 파일 수십 개, 10초 만에 하나로 합치기 (파이썬 pandas 활용법)

by DDBobD 2026. 2. 21.
728x90
반응형

 

지난번 openpyxl 기초 편에 이어, 오늘은 실무에서 가장 스트레스받는 상황 중 하나를 해결해 보려고 합니다. 바로 여러 개의 엑셀 파일을 하나로 합치는 작업입니다.

팀원 10명이 보낸 각기 다른 엑셀 데이터, 혹은 매달 생성되는 매출 데이터를 일일이 복사해서 붙여넣고 계셨나요? 이제 파이썬의 pandas 라이브러리만 있으면 파일이 100개든 1,000개든 단 10초 만에 합칠 수 있습니다.
 

파이썬으로 엑셀(Excel) 업무 자동화하기 : openpyxl

매일 반복되는 엑셀 복사, 붙여넣기, 데이터 정리 때문에 퇴근이 늦어지시나요? 오늘은 파이썬의 openpyxl 라이브러리를 활용해서 단 10줄의 코드로 엑셀 업무를 자동화하는 방법을 소개해 드리려

ddbobd.tistory.com

 

 

1. 왜 openpyxl이 아니라 pandas인가요?

지난번에는 엑셀의 서식이나 시트를 다루는 데 강점이 있는 openpyxl을 소개했는데요. 데이터를 대량으로 읽고, 합치고, 가공할 때는 데이터 분석 전용 도구인 **pandas(판다스)**가 훨씬 빠르고 강력합니다.

 

2. 준비물 설치

터미널이나 CMD창에 아래 명령어를 입력하여 필요한 라이브러리를 설치해 주세요.

pip install pandas openpyxl

 

3. 실전 예제: 여러 폴더 안의 엑셀 합치기

특정 폴더 안에 들어있는 모든 .xlsx 파일을 읽어서 하나의 파일로 합치는 코드입니다.

import pandas as pd
import glob
import os

# 1. 합칠 엑셀 파일들이 모여있는 폴더 경로 설정
input_path = r'C:/excel_test' # 본인의 폴더 경로로 수정하세요
output_file = r'C:/excel_test/total_data.xlsx'

# 2. 폴더 내 모든 엑셀 파일 리스트 가져오기
all_files = glob.glob(os.path.join(input_path, "*.xlsx"))

# 3. 빈 리스트 생성 후 모든 파일의 데이터를 담기
all_data = []

for file in all_files:
    # 각 엑셀 파일을 읽어와서 리스트에 추가
    df = pd.read_excel(file)
    all_data.append(df)

# 4. 리스트에 담긴 데이터들을 하나로 합치기
combined_df = pd.concat(all_data, ignore_index=True)

# 5. 합쳐진 데이터를 새로운 엑셀 파일로 저장
combined_df.to_excel(output_file, index=False)

print(f"총 {len(all_files)}개의 파일이 성공적으로 합쳐졌습니다!")

 

4. 코드 설명 및 주의사항
  • glob.glob: 특정 폴더에서 확장자가 .xlsx인 파일만 쏙쏙 골라내는 기특한 함수입니다.
  • pd.concat: 흩어져 있는 데이터 프레임(표)을 위아래로 층층이 쌓아주는 역할을 합니다.
  • ignore_index=True: 파일을 합칠 때 기존의 번호(인덱스)를 무시하고 0부터 새로 번호를 매겨줍니다.
  • 주의: 합치려는 모든 엑셀 파일의 첫 줄(제목행/헤더) 형식이 동일해야 데이터가 예쁘게 합쳐집니다!

 

이제 더 이상 단순 반복 노가다로 소중한 퇴근 시간을 낭비하지 마세요.

파이썬 코드 몇 줄만 복사해서 나만의 자동화 도구를 만들어두면, 동료들에게 "엑셀 천재" 소리를 듣게 될지도 모릅니다.

다음에는 합쳐진 데이터에서 특정 조건만 추출하는 방법을 들고 올게요!

728x90
반응형