myjar***
2022-05-29

파이썬을 통해 엑셀의 기능을 확장해 인터넷에서 내려받은 자료를 수작업 없이 엑셀에서 활용하는 법, 엑셀 플러그인을 통해 엑셀 자체를 자동화하는 방법을 알려준다.
얼마 전 파이썬의 창시자 귀도 반 로섬이 은퇴를 번복하고 마이크로소프트 입사했다는 소식을 들을 수 있었다. 그 이유는 은퇴가 지루해서라고 하는데, 더 정확한 이유는 알 수 없지만 '엑셀이 편해지는 파이썬'라는 책을 읽으면서 짐작할 수 있었다.
마이크로소프트 유저보이스의 엑셀 피드백 포럼에서 가장 추천을 많이 받은 '엑셀의 스크립트 언어로 파이썬을 지원해달라'는 요청이 있었기 때문이다. 물론 액셀에는 VBA라는 스크립트 언어가 존재하지만, 범용적이 아니라 마이크로소프트 제품에서만 사용할 수 있다는 단점이 있다. 하지만 파이썬으로 VBA가 하는 작업을 똑같이 하는데, 보다 범용적이고 효율적이며 빠르다고 생각한다.
그래서 이 책은 파이썬으로 엑셀을 다루는 방법을 소개하고 있다. 특히 저자 펠리스 춤스타인은 엑셀 자동화 패키지인 엑셀윙스(xlwings)를 만들었고, 엑셀에 파이썬을 활용하는 방법은 많은 사람들에게 전달하고 있다.
책의 구성을 보면 다음과 같다.
제 1부에서는 일반적인 파이썬에 대한 소개를 다루고 있다.
하지만 첫 장에서는 왜 엑셀에 파이썬을 써야하느지에 대한 당위성을 잘 설명하고 있다. 특히 엑셀은 문서 도구가 아닌 프로그래밍 언어로 인정하고 접근하는 방식이 흥미롭다. 1부의 주된 내용은 파이썬이 왜 엑셀의 훌륭한 파트너인지에 대해 알아보고, 파이썬을 구현할 개발환경에 대해 살펴보고 있다. 파이썬에 대한 내용은 정말 많은 책에서 다루고 있지만, 이 책에서 파이썬은 엑셀의 파트너이기 때문에 당연히 설명이 필요했다고 생각한다.
2부에서는 파이썬 라이브러리인 넘파이와 판다스에 대한 설명이다.
판다스를 통해 데이터 분석 및 대량의 데이터를 어떻게 처리하는지 확인할 수 있다.
넘파이와 판다스 또한 수많은 책에서 다뤘는데, 그만큼 쓰임새가 많다는 얘기일 것이다. 데이터 조작, 연산, 수집 그리고 데이터 프레임 조합과 임포트, 익스포트 등 다양한 내용을 다루고 있다.
3부에서는 엑셀 파일을 다룰 수 있는 다양한 패키지(판다스, OpenPyXL, XlsxWriter, pyxlsb, xlrd, xlwt) 를 이용하여 파이썬으로 엑셀 파일을 다루는 내용이 담겨있다. 책 속에 소개된 다양한 패키지는 각각의 주요기능이 있지만, 어떤 측면에서는 한계점이 반드시 존재한다. 따라서 자신의 목적에 맞는 패키지를 선정해서 사용하는 것이 중요하다고 생각한다.
3부에서는 엑셀 어플리케이션 없이 엑셀을 다루었다면 4부에서는 파이썬과 엑셀윙스 패키지를 사용하여 엑셀 애플리케이션 자체를 자동화하는 방법을 설명하고 있다. 예전 VBA 매크로로 사용했던 부분을 파이썬이 대체하는 것을 확인할 수 있다.
엑 윙스에 대한 추가정보는 아래 사이트에서 확인할 수 있다.
https://xlwings.org/book
그리고 이 책에 사용된 소스코드는 아래 github 저장소에서 다운로드 및 확인할 수 있다.
https://github.com/fzumstein/python-for-excel
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
#엑셀이편해지는파이썬 #엑셀 #파이썬 #자동화 #데이터분석