1. 왜 이걸 따로 해야 할까?
우리는 이미 [12편]에서 여러 파일을 조건별로 추출했습니다.
하지만 실무에서는 이렇게 추출된 파일들을...
- 다시 하나로 모아야 보고서 작성이 편리하고,
- 부서별 통합 리포트, 프로젝트 전체 보고서가 완성됩니다.
⚡ 여기서 중요한 점!
[3편]처럼 원본 파일을 통합하는 게 아니라, 이미 필터링된 "추출 결과 파일"만 다시 모아서 하나로 통합해야 한다는 것입니다. ---
2. 3편과 13편의 차이점은?
구분 | [3편] 모든 엑셀 파일을 통합 | [13편] 추출된 결과 파일만 통합 |
---|---|---|
초점 | 원본 파일 전체 합치기 (필터링 없이 모든 데이터) |
추출된 결과 파일만 골라 합치기 (필터링된 데이터만) |
파일 종류 | sample1.xlsx, sample2.xlsx 등 (원본) | sample1_영업부_추출.xlsx, sample2_영업부_추출.xlsx 등 (결과 파일) |
결과물 | 원본 전체를 포함한 통합 파일 | 필요한 데이터만 깔끔하게 모은 통합 파일 |
사용 예시 | 모든 데이터를 다 합치는 초기 작업 | 추출된 결과만 합쳐 최종 보고서 만들기 |
✅ 요약하면,
[3편]은 "무조건 다 합치기", [13편]은 "필요한 것만 정제해서 합치기"입니다.
---
3. 어떤 상황에서 유용할까?
- 부서별로 추출된 결과를 하나로 정리해야 할 때
- 프로젝트별로 따로 관리한 데이터를 다시 통합해야 할 때
- 조건별 추출 결과를 최종 리포트로 만들어야 할 때
정제된 데이터만 통합하는 것은 실무 보고 품질을 높여줍니다. ---
4. 12편 보완: 부서별 데이터 추출 추가
추출 코드 예시: 영업부, 개발부, 인사부 모두 추출!
departments = ['영업부', '개발부', '인사부']
for target_department in departments:
for file in os.listdir(input_folder):
if file.endswith('.xlsx'):
file_path = os.path.join(input_folder, file).replace('\\', '/')
sheets = pd.read_excel(file_path, sheet_name=None)
for sheet_name, df in sheets.items():
if {'이름', '부서', '매출액'}.issubset(df.columns):
condition = (df['부서'] == target_department) & (df['매출액'] >= 60000)
filtered_df = df[condition]
if not filtered_df.empty:
save_name = f"{os.path.splitext(file)[0]}_{sheet_name}_{target_department}_추출.xlsx"
save_path = os.path.join(output_folder, save_name).replace('\\', '/')
filtered_df.to_excel(save_path, index=False)
✅ 이제 부서별로 다양한 추출 결과 파일들이 생성됩니다.
---
5. 본격 실습: 부서별 추출 결과 파일 모두 통합하기
5-1. 폴더 준비
- 추출된 결과 파일들은
C:/Users/YourName/Desktop/조건추출결과
폴더에 모아주세요. - 최종 통합 파일은
C:/Users/YourName/Desktop/최종통합
폴더로 저장됩니다.
---
5-2. 코드 작성
import os
import pandas as pd
# 입력 폴더
input_folder = 'C:/Users/YourName/Desktop/조건추출결과'
# 결과 저장 폴더
output_folder = 'C:/Users/YourName/Desktop/최종통합'
os.makedirs(output_folder, exist_ok=True)
# 통합 결과 저장 리스트
df_list = []
# 추출 결과 파일만 합치기
for file in os.listdir(input_folder):
if file.endswith('_추출.xlsx'): # 파일명에 '_추출'이 포함된 경우만
file_path = os.path.join(input_folder, file).replace('\\', '/')
df = pd.read_excel(file_path)
df_list.append(df)
# 데이터프레임 합치기
if df_list:
final_df = pd.concat(df_list, ignore_index=True)
save_path = os.path.join(output_folder, '최종_부서별통합결과.xlsx').replace('\\', '/')
final_df.to_excel(save_path, index=False)
print("✅ 최종 부서별 통합 파일 저장 완료:", save_path)
else:
print("⚠️ 통합할 추출 결과 파일이 없습니다.")
---
5-3. 실행 결과
- sample1_영업부_추출.xlsx
- sample1_개발부_추출.xlsx
- sample2_인사부_추출.xlsx
- ... 등 모든 부서 추출 결과가 통합되어
- 최종_부서별통합결과.xlsx로 저장됩니다.
---
6. 📢 여기서 주의사항!
- 추출 파일명에 '_추출'이라는 규칙을 반드시 지켜야 합니다.
- 모든 파일의 컬럼 구조는 동일해야 합니다.
- 경로 구분자는 슬래시(
/
)를 사용하세요.
---
7. 요약
항목 | 요약 |
---|---|
기능 | 부서별 추출 결과 파일만 골라 하나로 통합 저장 |
효과 | 정제된 부서별 데이터 통합 보고서 완성 |
준비물 | Python + pandas + openpyxl |
독자 | 초보자 OK (복붙 실습 가능) |
주의사항 | 파일명 규칙 엄수, 컬럼 통일 |
✨ 다음편 예고
[13편] 엑셀 파일을 직접 열어 기본 차트 자동 생성하기
: 엑셀 프로그램 자체를 띄워서 엑셀 기본 차트 (막대, 꺾은선)를 자동으로 만들고 저장합니다!
'Python - 자동화' 카테고리의 다른 글
[15편] 한 번에 여러 개의 엑셀 차트 자동 생성하기 - 부서별 보고서 실전 자동화 (0) | 2025.05.15 |
---|---|
[14편] 엑셀 파일을 직접 열어 "부서별 매출액 그래프" 자동 생성하기 - 실무용 엑셀 자동화 실습 (0) | 2025.05.14 |
[12편] 폴더 안 대량 엑셀 파일에서 조건 검색 결과만 추출하기 - "개별 파일 저장" 하기 (0) | 2025.05.12 |
[11편] 엑셀 데이터를 읽고 그래프 시각화하여 자동 저장하기 - 여러 데이터로 실전 자동화! (0) | 2025.05.11 |
[10편] 여러 파일 안 여러 시트를 하나의 통합 파일로 저장하기 - 파일별 + 시트별 자동화 정리! (0) | 2025.05.10 |