라벨이 업무 효율화인 게시물 표시

VLOOKUP보다 빠르고 정확한 파이썬 merge() 함수 활용 실전 사례

직장인들이 엑셀에서 가장 사랑하면서도, 동시에 가장 증오하는 함수가 무엇일까요? 단연코 'VLOOKUP(브이룩업)'일 것입니다. 사번만 있는 매출 데이터에 직원 이름과 부서명을 끌어오기 위해 VLOOKUP 수식을 걸고 밑으로 쫙 드래그하는 순간, 모니터 화면이 하얗게 굳어버리며 '응답 없음'이 뜨던 공포. 직장인이라면 누구나 한 번쯤 겪어보셨을 겁니다. 데이터가 10만 줄만 넘어가도 VLOOKUP은 엑셀을 기절하게 만듭니다. 게다가 원본 데이터의 열(Column) 순서가 하나라도 바뀌면 수식이 전부 엉망으로 꼬여버리고 맙니다. 언제까지 이 불안정한 함수에 우리의 소중한 퇴근 시간을 맡기실 건가요? 파이썬 판다스(Pandas)에는 VLOOKUP의 모든 단점을 완벽하게 보완하면서도 속도는 수백 배 빠른 merge() 라는 마법의 함수가 존재합니다. 오늘은 엑셀 유저들이 가장 환호하는 기능, 파이썬으로 두 개의 데이터를 결합하는 비법을 알아보겠습니다. 1. VLOOKUP의 치명적 단점과 merge()의 등장 엑셀 VLOOKUP은 "기준값에서 오른쪽으로 몇 번째 칸에 있는 데이터를 가져와라"라는 상대적인 위치 기반의 함수입니다. 그래서 중간에 누군가 열을 하나 삽입하거나 삭제하면, 내가 원했던 값이 아닌 엉뚱한 값을 가져오게 됩니다. 수식을 걸어둔 채로 저장하면 파일 용량도 기하급수적으로 커지죠. 반면 파이썬의 merge() 함수는 데이터베이스의 '조인(Join)' 원리를 따릅니다. "몇 번째 칸"이라는 위치가 아니라, "이름이 '사번'인 기둥(열)을 기준으로 두 데이터를 맞춰라"라고 명확하게 이름표를 지정해 줍니다. 따라서 중간에 데이터 순서가 뒤죽박죽 섞여도 절대 에러가 나지 않으며, 수십만 줄의 매칭 작업도 1초면 가볍게 끝납니다. 수식이 아니라 결과값(텍스트) 자체로만 저장되기 때문에 파일 용량도 아주 가볍습니다. 2. 1초 만에 두 데이터 합치기 ...

흩어진 수십 개의 엑셀 파일, 클릭 한 번에 하나의 시트로 병합하기

월말이나 연말이 되면 각 부서나 지점에서 취합해 보내온 수십, 수백 개의 엑셀 파일을 하나의 마스터 파일로 합치는 이른바 '취합 업무'가 시작됩니다. 파일 하나를 열고, 드래그해서 복사하고, 마스터 파일 맨 밑줄을 찾아 붙여넣고, 다시 창을 닫고... 이 짓을 50번쯤 반복하다 보면 손목도 저릿하고, 중간에 실수로 누군가의 데이터를 빼먹거나 덮어쓰는 끔찍한 대참사가 발생하기도 하죠. 취합 업무는 직장인의 에너지를 가장 무의미하게 갉아먹는 최악의 단순 반복 작업입니다. 하지만 파이썬의 세계에서는 폴더 안에 있는 100개의 엑셀 파일을 단 3초 만에 하나의 완벽한 시트로 합쳐버릴 수 있습니다. 내가 마우스를 100번 클릭해야 할 일을 컴퓨터에게 대신 시키는 것, 이것이 진짜 코딩을 배우는 목적입니다. 오늘은 파이썬 엑셀 자동화의 꽃이라고 불리는 '다중 파일 병합'의 3단계 핵심 원리를 아주 쉽게 풀어드리겠습니다. 1. 흩어진 파일 이름 싹쓸이하기: glob 라이브러리 가장 먼저 해야 할 일은 컴퓨터에게 "특정 폴더 안에 있는 엑셀 파일들의 이름과 위치를 전부 다 조사해 와!"라고 명령하는 것입니다. 이때 파이썬에 기본적으로 내장된 glob 이라는 아주 편리한 도구를 사용합니다. 코드 맨 윗줄에 import glob 이라고 적어 도구를 꺼냅니다. 그리고 glob.glob(r'C:\취합폴더\*.xlsx') 라고 적어주면 마법이 시작됩니다. 여기서 별표( * )는 "이름이 뭐든 상관없이"라는 뜻을 가진 만능 치트키입니다. 즉, 저 코드는 "취합폴더 안에 있는 파일 중 끝이 .xlsx로 끝나는 모든 파일의 명단을 가져와라"라는 뜻이 됩니다. 이 명단을 파이썬은 리스트(List)라는 이름의 깔끔한 목록표로 정리해서 우리가 쓰기 좋게 쥐여줍니다. 2. 수십 개의 파일을 알아서 열고 복사하기: for 반복문의 힘 명단을 확보했으니 이제 파일들을 하나씩 열어서 데이터를 복사해 올 차...

수만 줄의 데이터, 엑셀이 멈출 때 파이썬으로 가볍게 필터링하는 요령

용량이 100MB가 넘어가는 데이터 파일, 혹은 수십만 줄이 쌓여있는 로우 데이터(Raw Data)를 엑셀로 열어본 경험이 있으신가요? 파일을 더블클릭하는 순간 마우스 커서가 뱅글뱅글 돌기 시작하고, 화면은 하얗게 변하며 제목 표시줄에는 '응답 없음'이라는 공포의 단어가 뜹니다. 어찌어찌 파일이 열렸다고 해도, '데이터 필터' 버튼을 누르고 특정 부서나 특정 날짜의 체크박스를 클릭하는 데만 또 수 분의 시간이 걸립니다. 바쁜 업무 시간에 이런 로딩을 기다리며 커피만 홀짝이는 것은 너무나도 큰 시간 낭비입니다. 엑셀은 눈에 보이는 격자무늬(UI)를 화면에 띄우는 데 컴퓨터의 메모리(RAM)를 엄청나게 소모하기 때문에 대용량 처리에 쥐약입니다. 반면, 파이썬은 눈에 보이는 화려한 껍데기 없이 오직 백그라운드에서 연산만 수행하므로 수십만 줄의 데이터도 단 몇 초면 가볍게 처리할 수 있습니다. 오늘은 엑셀에서 우리를 가장 지치게 했던 '조건 필터링' 작업을 파이썬 판다스(Pandas)로 어떻게 순식간에 끝낼 수 있는지, 그 직관적이고 강력한 방법을 알아보겠습니다. 1. 엑셀의 필터 버튼을 대체하는 '조건 마스크' 원리 엑셀에서는 깔때기 모양의 필터 버튼을 눌러서 원하는 항목에 체크 표시를 합니다. 파이썬에서는 이 체크 표시 대신 '조건문'을 사용합니다. 원리는 아주 간단합니다. 파이썬에게 "이 조건이 맞는 줄(행)은 True, 틀린 줄은 False로 표시해 줘"라고 명령한 뒤, True로 표시된 데이터만 쏙 뽑아오는 방식입니다. 이것을 실무에서는 '마스킹(Masking)'이라고 부릅니다. 만약 우리가 불러온 데이터(df)에서 '부서명' 열의 값이 '영업팀'인 데이터만 걸러내고 싶다면 어떻게 해야 할까요? 주피터 노트북에 df[df['부서명'] == '영업팀'] 이라고 적어주기만 하면 끝납니다. 바깥쪽의 대괄...

엑셀 셀 병합 데이터, 파이썬으로 불러올 때 엉망으로 깨지는 현상 완벽 해결법

실무에서 다루는 엑셀 보고서들을 보면 십중팔구 '셀 병합'이 되어 있습니다. 부서명, 날짜, 카테고리 등을 보기 좋게 묶어두는 것은 사람의 눈에는 참 친절한 방식입니다. 하지만 파이썬으로 자동화를 시작한 직장인들에게 이 예쁘게 병합된 셀은 그야말로 재앙의 시작입니다. 지난번 배운 대로 판다스(Pandas)를 이용해 기분 좋게 엑셀을 불러왔는데, 화면에 나타난 데이터가 중간중간 'NaN'이라는 정체불명의 글자로 도배되어 엉망진창으로 깨져 있던 경험, 다들 있으실 겁니다. 저 역시 처음 이 현상을 마주했을 때 코드가 완전히 망가진 줄 알고 식은땀을 흘렸습니다. 결국 파이썬 창을 닫고 다시 엑셀을 열어 병합을 다 풀고 일일이 드래그해서 빈칸을 채워 넣는 '수동 노가다'를 한 적도 있죠. 하지만 원리만 알면 파이썬에서 단 한 줄의 코드로 이 문제를 깔끔하게 해결할 수 있습니다. 오늘은 파이썬이 병합된 셀을 어떻게 인식하는지 그 원리를 이해하고, 마법의 함수를 통해 깨진 데이터를 원래대로 복원하는 방법을 알아보겠습니다. 1. 파이썬은 왜 병합된 셀을 'NaN'으로 뱉어낼까? 사람의 눈에는 3개의 행이 하나로 합쳐진 거대한 셀 안에 '영업팀'이라는 글자가 꽉 차 있는 것처럼 보입니다. 하지만 컴퓨터(엑셀 시스템 내부)가 데이터를 기억하는 방식은 다릅니다. 셀을 병합하면 오직 가장 위쪽(또는 왼쪽)의 첫 번째 셀에만 '영업팀'이라는 실제 데이터가 남고, 나머지 아래쪽 두 개의 셀은 텅 빈 공간으로 처리됩니다. 그저 시각적으로만 하나인 것처럼 껍데기를 씌워 둔 것입니다. 파이썬의 판다스는 사람처럼 예쁜 껍데기를 보지 않고 엑셀의 뼈대(Raw Data)를 아주 정직하게 읽어옵니다. 그래서 첫 번째 행에는 '영업팀'을 정상적으로 가져오지만, 나머지 두 개의 빈칸은 "여긴 데이터가 없는데요?"라며 결측치를 의미하는 'NaN(Not a Number)'...

판다스(Pandas) 기초: 엑셀 파일 불러오고 저장할 때 초보자가 흔히 하는 실수

1편에서 파이썬과 주피터 노트북 세팅을 무사히 마치셨다면, 이제 본격적인 실전입니다. 데이터를 요리하려면 가장 먼저 냉장고에서 재료를 꺼내 도마 위에 올려야겠죠? 파이썬에서 엑셀 파일을 화면으로 불러오는 작업이 바로 그것입니다. 하지만 많은 직장인 초보자들이 호기롭게 코드를 켰다가 이 첫 단계부터 새빨간 에러 메시지를 마주하고 크게 좌절하곤 합니다. 우리가 평소 엑셀 아이콘을 더블클릭해서 파일을 여는 것과, 코드를 통해 컴퓨터에게 "저 폴더에 있는 파일을 열어줘"라고 명령하는 것은 차원이 다른 이야기이기 때문입니다. 오늘은 파이썬 데이터 분석의 핵심 도구인 판다스(Pandas)를 이용해 엑셀 파일을 완벽하게 불러오고, 작업한 결과를 다시 깔끔하게 저장하는 과정에서 초보자가 99% 확률로 겪는 치명적인 실수와 그 해결책을 명쾌하게 짚어보겠습니다. 1. 마법의 주문: 판다스(Pandas) 소환과 엑셀 불러오기 파이썬 환경에서 데이터 전처리와 엑셀 자동화를 담당하는 1등 공신은 바로 '판다스(Pandas)'라는 라이브러리입니다. 주피터 노트북을 열고 코드를 짤 때 가장 먼저 해야 할 일은 이 판다스를 우리 작업 공간으로 불러오는 것입니다. 가장 위 칸에 import pandas as pd 라고 적고 실행해 줍니다. "앞으로 판다스라는 긴 이름 대신, 편하게 pd라고 줄여서 부르겠다"는 뜻의 전 세계적인 약속입니다. 이 주문이 성공적으로 들어갔다면, 이제 pd.read_excel('파일명.xlsx') 이라는 간단한 코드 한 줄로 내 컴퓨터에 있는 엑셀 파일을 파이썬 화면에 표 형태로 짠 하고 띄울 수 있습니다. 원리는 이렇게나 간단합니다. 하지만 막상 실무 파일 이름을 넣고 실행해 보면 어김없이 'FileNotFoundError(파일을 찾을 수 없음)'라는 무서운 에러가 뜹니다. 원인이 무엇일까요? 2. "파일을 찾을 수 없습니다" : 슬래시(/)와 역슬래시()의 함정 초...

직장인 엑셀 퇴근 시간을 앞당기는 파이썬 세팅 가이드 (VBA 대신 파이썬인 이유)

매일 아침 출근하자마자 어제자 실적 엑셀 파일을 열고, 복사해서 붙여넣고, 수식을 걸어보고, 피벗 테이블을 돌리는 일상. 혹시 이 지루한 '엑셀 노가다'에 하루 업무 시간의 절반 이상을 쏟고 계시지는 않나요? 저 역시 과거 수십만 줄의 데이터를 엑셀로 처리하다가 프로그램이 하얗게 멈춰버리는(응답 없음) 화면을 보며 깊은 절망에 빠졌던 기억이 생생합니다. "이걸 자동으로 해주는 방법이 없을까?" 고민하다 보면 필연적으로 매크로(VBA)나 파이썬(Python)이라는 단어를 마주하게 됩니다. 코딩의 'ㅋ'자도 모르는 문과 출신 직장인 입장에서 새로운 언어를 배운다는 것은 엄청난 부담으로 다가옵니다. 하지만 단언컨대, 파이썬 기초 세팅만 끝내두면 여러분의 퇴근 시간은 최소 1시간 이상 빨라질 수 있습니다. 오늘은 본격적인 엑셀 자동화에 앞서, 왜 우리가 파이썬을 선택해야 하는지 그 이유와 초보자도 막힘없이 따라 할 수 있는 가장 안전한 초기 세팅 방법을 알려드리겠습니다. 1. 엑셀 매크로(VBA) 대신 파이썬을 선택해야 하는 3가지 이유 회사 선배들은 보통 엑셀에 내장된 매크로나 VBA를 배우라고 조언합니다. 하지만 지금 시대에 직장인 업무 자동화를 위해 VBA를 파고드는 것은 효율성이 떨어집니다. 제가 실무에서 직접 부딪히며 느낀 파이썬의 압도적인 장점은 다음과 같습니다. 첫째, 대용량 데이터 처리 속도가 다릅니다. 엑셀은 보통 데이터가 10만 줄만 넘어가도 버벅거리고 함수 적용에 수 분이 걸립니다. 반면 파이썬의 데이터 분석 라이브러리인 '판다스(Pandas)'를 사용하면 100만 줄의 데이터도 단 몇 초 만에 읽어오고 병합할 수 있습니다. 둘째, 직관적인 문법입니다. VBA는 오래된 언어 특성상 문법이 복잡하고 에러를 찾기 어렵습니다. 파이썬은 사람이 읽는 영어 문장과 구조가 매우 비슷해 비전공자도 흐름을 이해하기 훨씬 수월합니다. 셋째, 압도적인 확장성입니다. VBA는 엑셀 안에서만 갇혀 있지만, 파...