# πŸ“Š μ—‘μ…€ 데이터 톡합 μžλ™ν™” (Excel Data Merger RPA) μ—¬λŸ¬ 개의 μ—‘μ…€ νŒŒμΌμ„ 클릭 ν•œ 번으둜 μžλ™ ν†΅ν•©ν•˜λŠ” RPA ν”„λ‘œκ·Έλž¨μž…λ‹ˆλ‹€. ## 🎯 ν”„λ‘œμ νŠΈ κ°œμš” ### ν•΄κ²°ν•˜λŠ” 문제 - λ§€μ›”/λ§€μ£Ό μ—¬λŸ¬ λΆ€μ„œμ—μ„œ λ°›λŠ” μ—‘μ…€ νŒŒμΌμ„ ν•˜λ‚˜λ‘œ 합쳐야 ν•  λ•Œ - μˆ˜μž‘μ—… 볡사/λΆ™μ—¬λ„£κΈ°λ‘œ μΈν•œ μ‹œκ°„ λ‚­λΉ„ (5μ‹œκ°„ β†’ 10초) - 데이터 μž…λ ₯ 였λ₯˜ 제거 - 반볡 μž‘μ—… μžλ™ν™” ### μ£Όμš” κΈ°λŠ₯ βœ… μ—¬λŸ¬ μ—‘μ…€ 파일 μžλ™ 톡합 (.xlsx, .xls, .xlsm) βœ… 원본 파일λͺ… 좔적 (μ–΄λŠ νŒŒμΌμ—μ„œ μ™”λŠ”μ§€) βœ… μžλ™ νƒ€μž„μŠ€νƒ¬ν”„ (톡합_λ‚ μ§œ_μ‹œκ°„.xlsx) βœ… μ—λŸ¬ 처리 (일뢀 파일 μ‹€νŒ¨ν•΄λ„ 계속 μ§„ν–‰) βœ… μ§„ν–‰ 상황 μ‹€μ‹œκ°„ ν‘œμ‹œ βœ… 톡합 μ „ 미리보기 ## πŸš€ λΉ λ₯Έ μ‹œμž‘ ### 1. μ„€μΉ˜ ```bash # μ €μž₯μ†Œ 클둠 git clone https://github.com/gahusb/excel-merger-rpa.git cd excel-merger-rpa # μ˜μ‘΄μ„± μ„€μΉ˜ pip install -r requirements.txt ``` ### 2. μ‚¬μš©λ²• #### κΈ°λ³Έ μ‚¬μš© ```bash # 1. input 폴더에 μ—‘μ…€ νŒŒμΌλ“€μ„ λ„£κΈ° # 2. ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ python excel_merger.py ``` #### 예제 ``` excel-merger-rpa/ β”œβ”€β”€ input/ # 여기에 μ—‘μ…€ 파일 λ„£κΈ° β”‚ β”œβ”€β”€ 1μ›”_맀좜.xlsx β”‚ β”œβ”€β”€ 2μ›”_맀좜.xlsx β”‚ └── 3μ›”_맀좜.xlsx β”œβ”€β”€ output/ # 톡합 파일이 여기에 생성됨 β”‚ └── 톡합데이터_20250210_143022.xlsx └── excel_merger.py # μ‹€ν–‰ 파일 ``` ### 3. μ‹€ν–‰ ν™”λ©΄ ``` ================================================== πŸ“Š μ—‘μ…€ 데이터 톡합 μžλ™ν™” ν”„λ‘œκ·Έλž¨ Excel Data Merger RPA ================================================== πŸ“‹ 파일 λͺ©λ‘: -------------------------------------------------- 1. 1μ›”_맀좜.xlsx - 150ν–‰ Γ— 5μ—΄ 2. 2μ›”_맀좜.xlsx - 180ν–‰ Γ— 5μ—΄ 3. 3μ›”_맀좜.xlsx - 170ν–‰ Γ— 5μ—΄ -------------------------------------------------- 총 3개 파일, μ˜ˆμƒ 톡합 ν–‰ 수: 500ν–‰ κ³„μ†ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ? (y/n): y πŸ“‚ 발견된 파일 수: 3개 -------------------------------------------------- 1. 1μ›”_맀좜.xlsx μ½λŠ” 쀑... βœ“ 150ν–‰ 읽기 μ™„λ£Œ 2. 2μ›”_맀좜.xlsx μ½λŠ” 쀑... βœ“ 180ν–‰ 읽기 μ™„λ£Œ 3. 3μ›”_맀좜.xlsx μ½λŠ” 쀑... βœ“ 170ν–‰ 읽기 μ™„λ£Œ πŸ”„ 데이터 톡합 쀑... πŸ’Ύ 파일 μ €μž₯ 쀑: output/톡합데이터_20250210_143022.xlsx ================================================== βœ… 톡합 μ™„λ£Œ! πŸ“Š 총 500ν–‰ 톡합됨 πŸ“ μ €μž₯ μœ„μΉ˜: output/톡합데이터_20250210_143022.xlsx ================================================== ``` ## πŸ“‹ μš”κ΅¬μ‚¬ν•­ - Python 3.8 이상 - pandas - openpyxl (xlsx 파일) - xlrd (xls 파일) ## 🎨 μ‚¬μš© 사둀 ### 1. 월별 맀좜 데이터 톡합 ``` 각 μ§€μ μ—μ„œ μ œμΆœν•œ 월별 맀좜 λ³΄κ³ μ„œλ₯Ό λ³Έμ‚¬μ—μ„œ 톡합 β†’ 5μ‹œκ°„ μž‘μ—…μ΄ 10초둜 단좕 ``` ### 2. λΆ€μ„œλ³„ 인원 ν˜„ν™© 톡합 ``` 각 λΆ€μ„œ μΈμ‚¬λ‹΄λ‹Ήμžκ°€ μž‘μ„±ν•œ 인원 ν˜„ν™©μ„ μΈμ‚¬νŒ€μ—μ„œ 톡합 β†’ μ‹€μˆ˜ 없이 μ •ν™•ν•œ 데이터 ``` ### 3. 재고 ν˜„ν™© 톡합 ``` μ—¬λŸ¬ 창고의 재고 데이터λ₯Ό ν•˜λ‚˜λ‘œ ν•©μ³μ„œ 뢄석 β†’ 재고 관리 효율 증가 ``` ## πŸ›  μ»€μŠ€ν„°λ§ˆμ΄μ§• ### μ½”λ“œμ—μ„œ μ‚¬μš©ν•˜κΈ° ```python from excel_merger import ExcelMerger # ExcelMerger 객체 생성 merger = ExcelMerger( input_folder="my_data", # μž…λ ₯ 폴더 output_folder="merged_data" # 좜λ ₯ 폴더 ) # 톡합 μ‹€ν–‰ df, output_path = merger.merge_excel_files( output_filename="μ΅œμ’…ν†΅ν•©.xlsx" # μ‚¬μš©μž μ§€μ • 파일λͺ… ) # κ²°κ³Ό 확인 print(f"총 {len(df)}ν–‰ 톡합됨") print(f"파일 μœ„μΉ˜: {output_path}") ``` ### 원본 파일λͺ… 컬럼 μ œκ±°ν•˜κΈ° `excel_merger.py` 67번째 쀄: ```python # 이 쀄을 주석 μ²˜λ¦¬ν•˜λ©΄ 원본 파일λͺ… 컬럼이 μΆ”κ°€λ˜μ§€ μ•ŠμŒ # df['μ›λ³ΈνŒŒμΌ'] = filename ``` ### νŠΉμ • μ‹œνŠΈλ§Œ 읽기 ```python df = pd.read_excel(file, sheet_name="Sheet1") # νŠΉμ • μ‹œνŠΈ ``` ## 🎯 μ‹€μ œ 효과 | ν•­λͺ© | μˆ˜μž‘μ—… | μžλ™ν™” | 절감 | |------|--------|--------|------| | **μ‹œκ°„** | 5μ‹œκ°„ | 10초 | 99.9% | | **정확도** | 95% | 100% | +5% | | **λΉ„μš©** | μ‹œκΈ‰ 1λ§Œμ› Γ— 5μ‹œκ°„ | 무료 | 5λ§Œμ› | **μ›” 20회 μž‘μ—… μ‹œ:** - μ‹œκ°„ 절감: 100μ‹œκ°„/μ›” - λΉ„μš© 절감: 100λ§Œμ›/μ›” ## πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰 ``` excel-merger-rpa/ β”œβ”€β”€ excel_merger.py # 메인 ν”„λ‘œκ·Έλž¨ β”œβ”€β”€ requirements.txt # μ˜μ‘΄μ„± λͺ©λ‘ β”œβ”€β”€ README.md # 이 파일 β”œβ”€β”€ .gitignore # Git μ œμ™Έ 파일 β”œβ”€β”€ input/ # μž…λ ₯ 폴더 (μ—‘μ…€ 파일 λ„£κΈ°) └── output/ # 좜λ ₯ 폴더 (톡합 파일 생성) ``` ## πŸ› νŠΈλŸ¬λΈ”μŠˆνŒ… ### "ModuleNotFoundError: No module named 'pandas'" ```bash pip install -r requirements.txt ``` ### "Permission denied" μ—λŸ¬ - 좜λ ₯ 파일이 μ—‘μ…€μ—μ„œ μ—΄λ €μžˆλŠ”μ§€ 확인 - νŒŒμΌμ„ λ‹«κ³  λ‹€μ‹œ μ‹€ν–‰ ### ν•œκΈ€ 깨짐 ```python # excel_merger.pyμ—μ„œ encoding μΆ”κ°€ df.to_excel(output_path, index=False, encoding='utf-8-sig') ``` ## πŸ’‘ μΆ”κ°€ κΈ°λŠ₯ 아이디어 - [ ] GUI 버전 (tkinter) - [ ] νŠΉμ • μ‹œνŠΈλ§Œ μ„ νƒν•΄μ„œ 톡합 - [ ] CSV νŒŒμΌλ„ 지원 - [ ] 쀑볡 데이터 μžλ™ 제거 - [ ] 데이터 μ •μ œ (곡백 제거, λ‚ μ§œ ν˜•μ‹ 톡일) - [ ] μŠ€μΌ€μ€„λŸ¬ (맀일 μžλ™ μ‹€ν–‰) ## πŸ“ž 문의 ν”„λ‘œμ νŠΈ κ΄€λ ¨ 문의 λ˜λŠ” μ»€μŠ€ν„°λ§ˆμ΄μ§• μš”μ²­: - **이메일**: bgg8988@gmail.com - **포트폴리였**: https://jaengseung-made.com - **μ „ν™”**: 010-3907-1392 ## πŸ“„ λΌμ΄μ„ μŠ€ MIT License - 자유둭게 μ‚¬μš©, μˆ˜μ •, 배포 κ°€λŠ₯ν•©λ‹ˆλ‹€. --- **Made by μŸμŠΉλ©”μ΄λ“œ** | [더 λ§Žμ€ RPA ν”„λ‘œμ νŠΈ 보기](https://jaengseung-made.com)