평소에 엑셀을 많이 쓰지는 않는다. 매달 쓰는 가계부나 매년 종합소득세 신고용으로 반복적으로 정리할 때 사용하는 것이 거의 다라고 할 수도 있다(이미 수식화+서식화 되어 있어서 수입금액만 적으면 얼마쯤 환급받을 수 있는지까지 다 계산해준다). 한때는 엑셀/파워포인트 강의도 했었는데...(한참 전 일이다)
그런데 엑셀에는 기대했던 것보다 많은 기능이 있고, 내가 그 기능을 안 쓰는 것이 아니라 뭐가 있는지 몰라서 못 쓰는 걸 수도 있다는 생각이 들었다. 이 책을 고른 것은 엑셀을 엄청 잘 쓰고 싶다거나 파이썬으로 내가 쓰고 있는 기능들을 자동화하기 위해서라기 보다는, "우선 어떤 기능들이 있는지 알아보고 적용할만한 부분이 있는지 찾아보자"는 이유에서였다. 게다가 요즘 파이썬을 배우고 있는 꼬맹이가 엑셀도 좀 가르쳐 달라고 해서 파이썬 자동화를 가르치면 파이썬에 속도가 붙지 않을까 하는 기대도 있다.
파이썬 설치와 기본 문법
시작은 파이썬이다. 전체의 1/4 살짝 넘는 분량이다. 이 부분은 파이썬을 모르는 사람에게는 꼭 필요한 부분이기도 하지만 나는 그냥 건너 뛰었다. 복잡한 내용은 빼고 가장 기본이 되는 내용들을 담았다. 왕초보용 간략한 기초 파이썬 교재 정도라고 봐도 될 것 같다. 파이썬 개요, 자료형, 제어문, 함수를 다룬다.
데이터를 다루는 파이썬 라이브러리인 pandas와 matplotlib 설치와 기본 사용법
다음 파트(Part 2, 4장~6장)에서는 엑셀에서 자주 쓰는 함수와 시각화를 위한 그래프 함수를 소개하고 있다. 역시 전체 분량의 1/4정도 된다.
제목만 보고는 구체적으로 어떤 내용을 다루는지 짐작하기 어려웠다. 엑셀을 다루는 거라고 생각했는데 4장과 5장에서는 파이썬 라이브러리 중에 데이터를 다룰 때 많이 사용하는 pandas 설치법과 사용법을 다루고 있었다. 6장은 파이썬에서 시각화할 때 많이 사용하는 라이브러리인 matplotlib를 다룬다.
"엑셀에서는 이러이러한 작업을 할 때 이 함수를 사용하지만, 파이썬에서는 이런 함수를 사용합니다."하며 각 케이스에 대해서 설명을 해주고 있다.
이렇게 비교해서 설명하기 때문에 엑셀함수에 익숙한 사람은 pandas 라이브러리에 조금만 익숙해지면 나머지는 크게 고생하지 않고 적응할 수 있을 것 같다. 좋은 점은 책의 앞부분에 있는 목차에도 이런 함수를 표가 나는 색상으로 표기해 놓아서 목차 겸 인덱스 역할을 잘 하고 있다는 것이다.
사실 pandas에서 rank()함수는 사용할 일이 없었는데, 이 rank()함수에서 순위를 매기는 방법을 지정하는 method가 엑셀에서 사용하던 것과 비슷하게 활용되니 재미있었다. 이게 되었었구나^^
(method 속성: average, min, max, first, dense)
6장까지는 읽어오는 데이터가 단지 엑셀로 저장된 데이터라는 것만 다를 뿐, 파이썬 데이터분석 기초과정과 다르지 않다.
두구두구두구두, 이제 드디어 파이썬 업무 자동화 파트
7장에서는 엑셀 형식을 다룰 수 있는 openpyxl 라이브러리, 파워포인트 파일을 지원하는 python-pptx 라이브러리, 마우스와 키보드를 제어하는 pyautogui를 설치하고 사용하는 법을 소개한다. 새 시트(엑셀, sheet)나 슬라이드(파워포인트, slide)를 추가하거나 삭제할 수도 있다.
엑셀파일에서 명단을 읽어서 지정된 템플릿에 맞춰 파워포인트에서 출력할 수 있는 명찰을 작성할 수도 있다. pandas, matplotlib 라이브러리 사용법을 이미 익혔기에 어렵지 않다. pyautogui는 이전에 사용해본 적이 없는 라이브러리라 신기하고 재미있었다. 엑셀 단축키(예를 들어 win + s)를 조작해서 엑셀을 열고 데이터를 읽어 총점과 평균을 계산해 정렬된 표로 기록하는 <성적 처리 자동화> 예제가 있는데, 단축키를 제어한다는 생각까진 하지 못했었다. 재미있는 라이브러리니 다른 데 많이 응용해봐야겠다.
8장에 나오는 웹크롤링은 데이터분석 과정을 가르치면서 많이 해봤고, 마지막 9장에서는 청구서를 자동으로 발행하는 케이스를 가지고 프로젝트를 한다.
10장에서는 25페이지 정도를 활용해 챗GPT 회원 가입하는 방법부터 코드 생성을 위한 프롬프트를 잘 만드는 방법, 챗GPT가 생성해 준 코드를 실행하는 방법을 소개한다. 내가 만들고자 하는 코드의 목적, 입력과 출력, 제약사항 등에 대해서 명확하게 지정하는 것이 중요한데 예시를 들어 잘 설명하고 있다. 물론 챗GPT가 제시해준 코드가 정확히 동작하게 만들려면 1~9장의 내용을 잘 알고 있어야 한다.
(1) 1~10장을 차례로 따라가 보기
(2) 10장을 먼저 따라해보고 1~9장 공부하기
공부하는 방법은 둘 중 하나일 건데, 본인이 원하는 어느 방법을 선택해도 나쁘지 않다고 본다.
사실 나에게 새로운 것은 7장, 9장 뿐이지만 엑셀의 구조에 대해서 잘 이해하고 있지만 파이썬을 모르던 사람 입장에서는 1장부터 10장까지 하나도 버릴 게 없을 것이다. 그렇게 두껍지 않은 책에 꼭 필요한 내용을 담았다는 느낌이다.