커뮤니티 채널
베이직 멤버십
community_post_owner
엑셀스마트랩
크리에이터
엑셀




파이썬 몰라도 됩니다, 엑셀 파일 한 번에 합치기

지점마다 보내오는 엑셀 파일을 하나하나 열어서 복사하고 붙여넣고 계신가요?

파일이 대여섯 개면 참을 만합니다. 그런데 열 개, 스무 개가 되면 이야기가 달라집니다.

이번 뉴스레터에서는 코드를 몰라도 그대로 따라 치기만 하면 되는 "엑셀 폴더째 합치기" 방법을 소개합니다.

실제로 한 분과 함께 처음부터 끝까지 직접 따라 해본 과정을 그대로 정리했습니다. 막히는 부분 없이 따라오실 수 있을 거예요.


A공장_생산실적XLSX 5 KB


B공장_생산실적XLSX 5 KB


C공장_생산실적XLSX 5 KB


D공장_생산실적XLSX 5 KB


E공장_생산실적XLSX 5 KB



이런 상황, 익숙하지 않으신가요


A공장부터 E공장까지 매일 생산실적 파일을 보내온다고 해봅시다.

담당자는 파일 다섯 개를 하나씩 열어서 내용을 복사하고, 현황표에 붙여넣습니다.

다섯 개면 어떻게든 됩니다. 열 개, 스무 개로 늘어나면 같은 작업을 반복하느라 오전 시간이 다 갑니다.

이럴 때 파이썬을 딱 한 번만 세팅해두면 폴더 안에 있는 엑셀 파일을 버튼 하나로 전부 합칠 수 있습니다.

지점별 매출 취합, 담당자별 거래 내역 정리, 재고 목록 취합에도 똑같이 쓸 수 있습니다.








시작 전에, 딱 두 가지만 준비하세요





사

VS Code (무료 프로그램, 이미 설치되어 있다고 가정합니다)

파이썬 (VS Code에서 코드를 실행해주는 엔진)

파이썬이 이미 설치되어 있는지도 잠시 후 함께 확인해볼 거예요. 지금은 그냥 VS Code만 실행해두시면 됩니다.


1단계. VS Code에서 터미널 열기

"터미널"이라는 단어가 낯설 수 있는데 그냥 명령어를 입력하는 검은 화면이라고 생각하시면 됩니다.

VS Code를 실행합니다.

위쪽 메뉴에서 터미널(Terminal) → 새 터미널(New Terminal)을 클릭합니다. (단축키를 쓰고 싶다면 Ctrl + ` 백틱키입니다)

화면 아래쪽에 검은색(또는 어두운) 창이 하나 열립니다.

이 창에 앞으로 명령어를 입력하게 됩니다.






2단계. 파이썬이 설치되어 있는지 확인하기

터미널 창에 아래를 그대로 입력하고 Enter를 누릅니다.

python --version

버전 번호(예: Python 3.11.0)가 나오면 성공입니다.

만약 오류가 뜨거나 아무 반응이 없다면 아래 명령어로 다시 시도해보세요.

python3 --version

💡 실제로 함께 진행했을 때는 python은 안 됐고 python3으로 버전이 확인됐습니다. 이런 경우라면 앞으로 나오는 모든 명령어에서 python 대신 python3을 쓰시면 됩니다.


3단계. 엑셀 파일을 다루는 도구 설치하기

파이썬 자체는 엑셀을 못 읽습니다. 엑셀을 읽고 쓰게 도와주는 두 가지 도구를 설치해야 합니다.

pandas: 표 데이터를 다루는 도구

openpyxl: 엑셀 파일(.xlsx)을 읽고 쓰는 도구

터미널에 아래 명령어를 입력하세요. (2단계에서 python3으로 버전을 확인했다면 아래처럼 씁니다)

python3 -m pip install pandas openpyxl

python -m pip install ... 형태로 입력하면 pip이라는 명령어가 따로 인식되지 않는 컴퓨터에서도 안전하게 설치됩니다.

설치는 몇 초에서 1분 정도 걸립니다. 진행 상태가 쭉 나오다가 마지막 줄에

Successfully installed pandas-... openpyxl-...

이런 문구가 뜨면 설치 완료입니다.


4단계. 합칠 엑셀 파일을 모아둘 폴더 만들기

VS Code에서 작업하고 있는 폴더 안에 data_folder라는 이름의 새 폴더를 만듭니다.

합치고 싶은 엑셀 파일들을 그 폴더 안에 넣습니다.

파일 이름은 A공장.xlsx, B공장.xlsx처럼 알아보기 쉽게 지어두면 나중에 편합니다.



5단계. 합치는 코드 붙여넣기

VS Code에서 새 파일을 하나 만들고 이름을 merge.py로 저장합니다.

그리고 아래 코드를 그대로 복사해서 붙여넣습니다. (수정할 곳은 없습니다. 폴더 이름을 다르게 만들었다면 DATA_DIR 부분만 그 이름으로 바꿔주세요)

import glob import os import pandas as pd DATA_DIR = "data_folder" def merge_excel_folder(folder_path): all_files = glob.glob(os.path.join(folder_path, "*.xlsx")) if not all_files: raise FileNotFoundError("폴더에 엑셀 파일이 없습니다.") frames = [] for file_path in all_files: df = pd.read_excel(file_path) df["공장"] = os.path.splitext( os.path.basename(file_path) )[0] frames.append(df) return pd.concat(frames, ignore_index=True) result =

폴더병합코드TXT 1 KB

merge_excel_folder(DATA_DIR) result.to_excel("merged_생산실적.xlsx", index=False)


6단계. 실행하기

터미널에 아래 명령어를 입력하고 Enter를 누릅니다. (역시 python3으로 확인했다면 python3 merge.py로 입력합니다)

python3 merge.py

몇 초 뒤 아무 메시지 없이 명령어 입력 줄만 다시 나온다면 정상적으로 끝난 것입니다.








7단계. 결과 확인하기

merge.py 파일과 같은 위치에 merged_생산실적.xlsx라는 파일이 새로 생겼는지 확인합니다.

파일이 다섯 개고, 각 파일에 열 줄씩 데이터가 있었다면 결과 파일에는 총 쉰 줄이 합쳐져 있습니다.

여기에 공장이라는 열이 하나 추가되어 있어서 어떤 데이터가 어느 파일에서 왔는지도 한눈에 확인할 수 있습니다.




실무에서 자주 만나는 두 가지 상황


1. 재고 관리 매장별로 나눠서 관리하던 재고 목록을 같은 폴더에 모아두면 전체 재고 현황을 한 파일로 바로 확인할 수 있습니다.

2. 고객 리스트 정리 담당자별로 따로 관리하던 고객 명단 파일을 합쳐서 중복 여부나 전체 규모를 파악할 때 유용합니다.


이런 경우엔 이렇게 해결하세요

Q. 파일마다 열 이름이 조금씩 달라요

먼저 이름을 통일해주는 코드를 한 줄 추가하면 됩니다.

df = df.rename(columns={"생산수량": "수량"})

Q. 파일 안에 시트가 여러 개인데, 특정 시트만 읽고 싶어요

시트 이름을 지정해주면 됩니다.

df = pd.read_excel(file_path, sheet_name="생산실적")


원리가 궁금하신 분들을 위한 짧은 설명

glob.glob: 폴더 안에서 .xlsx 파일 목록을 찾아옵니다.

pd.read_excel: 파일을 하나씩 읽어옵니다.

os.path.basename: 파일명을 가져와서 "공장" 열에 표시합니다.

pd.concat: 읽어온 파일들을 하나로 이어 붙입니다.

to_excel: 합쳐진 결과를 새 엑셀 파일로 저장합니다.

몰라도 실행하는 데는 전혀 문제가 없습니다. 나중에 궁금할 때 다시 읽어보시면 됩니다.



3줄 요약

python3 -m pip install pandas openpyxl로 도구를 설치합니다.

합칠 엑셀 파일을 한 폴더에 모으고, merge.py에 코드를 붙여넣습니다.

python3 merge.py를 실행하면 파일이 자동으로 합쳐집니다.

한 번 세팅해두면 다음부터는 파일만 폴더에 넣고 명령어 한 줄만 실행하면 됩니다.


파이썬/바이브코딩 등 주제로 매주 목,일 업로드 드리며

9월 중순 이후 유료화됩니다



35
아직 작성된 댓글이 없어요