파이썬이 엑셀보다 좋은 5가지 이유! #파이썬자동화

2019. 11. 26. 06:30

컴퓨터를 사용하는 사람치고 엑셀을 사용하지 않는 사람은 드물다. 일을 하거나 공부를 하는 사람이라면 누구나 이 스프레드 시트 프로그램을 사용한다. 하지만, 도구들은 새롭게 개발되기도 하고 사라지기도 한다. 몇 년간 확고한 위치를 지키고 있던 엑셀의 위치가 흔들리는 소리가 들린다.

오늘은 파이썬이 엑셀보다 좋은 5가지 이유에 대해서 알아보도록 하겠다.


컴퓨터_활용



최근에 은행에서 엑셀보다 파이썬을 활용한다는 기사가 나왔다. 아직 국내 사례는 아닌 듯 하지만 그만큼 파이썬이 강력한 도구임은 분명한 듯 하다. 그럼, 왜 엑셀보다 파이썬이 더 좋을까.
( 참조: Python already replaced Excel in banking, efinancialcareers.com, 2019-11-4 )



1. 코드가 주는 재사용성(수정과 반복)

지금 40대라면 아마 아래와 같은 도스(DOS) 화면이 익숙할 것이다. 최초에 컴퓨터가 보급될 때는 아래와 같이 커서가 깜빡이는 텍스트 환경에서 컴퓨터를 다루었다. 하지만, 마이크로소프트에서 그래픽 기반의 윈도우를 발표하며 더욱 쉽게 많은 사람들이 컴퓨터를 사용할 수 있게 됐다.


DOS화면
( DOS 화면)



엑셀은 그래픽 기반의 사용환경에 가깝다. 버튼을 누르고 텍스트 박스에 글자를 입력한다. 이 방법이 편할 때도 있지만 불편한 경우도 많다. 데이터를 분석하기 위해서는 여러가지 값들이 바꿔서 수행하고, 이 각도 저 각도에서 다양한 비교를 해 본다. 쉽게 말해 수많은 반복작업(노가다)가 필요하다.

최근에 하들리 위컴의 유투브 영상을 본 적이 있다. 영어의 압박에 느껴져 다 보지는 못했지만, 분석에서 텍스트 환경이 효율적인 이유를 말한다. Ctrl+C, Ctrl+V가 있다. 다 보지 않아도 어떤 뜻인지 알 듯 하다.




물론 엑셀의 매크로 기능이 있지만, 코드에 비해 재사용성이 많이 떨어진다. 파이썬은 필요한 변수명을 바꾸거나 반복문(for문)을 이용해서 쉽게 할 수 있다. 하지만, 엑셀에도 비주얼 베이직을 사용할 수 있지 않는가?



2. 쉬운 문법

엑셀을 넘사벽으로 사용하는 사람들이 있다. 움직이는 사람을 만들고 사다리 게임을 만드는 등 엑셀에 있는 비주얼 베이직을 이용해서 프로그래밍에서나 가능한 일들을 해낸다. 하지만, 선뜻 그와 같이 하고 싶다는 생각이 들지는 않는다. 이와 같은 작업을 하기 위해서는 엑셀에서 비주얼 베이직 코딩하는 방법을 알아야 하고, 문법도 알아야 한다. 비주얼 베이직도 쉬운 프로그래밍 언어이긴 하지만 파이썬이 문법적으로나 다른 측면에서 훨씬 다루기 쉽다.



3. 다양한 패키지

이는 오픈소스의 강점이기도 하지만, 파이썬만큼 패키지가 다양한 언어도 없는 것 같다. 패키지는 누군가 특정 기능을 개발해 놓은 것을 일정 단위로 모은 것이다. 무언가를 하고 싶을 때 밑바닥부터 할 필요 없이 이런 패키지를 설치해서 사용하면 적은 코드로도 원하는 작업을 할 수 있다. 심할 경우에는 함수 한두개로 가능한 경우도 있다. 파이썬은 생태계가 잘 되어 있어 웬만한 부분은 이미 누군가 만들어 놓은 패키지가 있다.

( 참조: 파이썬 활용, 파이썬 프로젝트로 할 수 있는 일들을 알아보자! )


다양한_소스



4. 다양한 소스

필자는 개인적으로 지금은 코딩을 배우기에 굉장히 좋은 환경이라고 생각한다. 유투브나 MOOC 등 학습할 수 있는 자료가 이미 많이 공개되어 있다. 유료도 있지만 무료도 좋은 자료들이 굉장히 많다. 또한 코딩을 하면서 접할 수 있는 많은 오류들이 이미 인터넷에 등록돼 있다. 누군가 이를 질의하고 답변을 받거나 해결하였기 때문에 이를 참고하면 문제가 생겨도 쉽게 해결할 수 있다.

특히 파이썬은 사용층이 확대되면서 소스도 많고 에러 해결 사례도 많다. 그만큼 활용하기 쉬운 환경이 구성되어 있고, 이는 앞으로 더 확대되지 않을까 싶다. 

( 참조: 파이썬 튜토리얼보다 쉽고 재미있는 파이썬 무료 기초 교육! )



5. 속도와 확장성

예전에는 엑셀이 4만6천 라인까지 지원하지 않았다. 물론 버전이 올라가면서 구동이 가능한 라인수는 많이 늘어났지만, 파이썬에 비할 수는 없다. 파이썬은 오라클, Mysql, HDFS등 다양한 DB에 붙을 수 있고, 분석하고 시각화해서 웹에 배포도 할 수도 있다. 엑셀도 위와 같은 작업이 가능한지는 모르겠으나 파이썬으로 더 쉽고 빠르게 할 수 있다. 웹페이지를 제작할 때는 장고나 플라스크를 많이 사용한다. 플라스크에 대해서 궁금하다면 아래 포스팅을 참조해보자.
( 참조: 파이썬 웹개발 플라스크로 쉽게 하기 )



파이썬에서 엑셀을 다룰 수 있는 패키지는 여러가지가 있다. 그 중에 openpyxl은 엑셀파일을 읽고 쓰는 것이 가능하여 많이 사용된다. openpyxl패키지의 자세한 내용이 궁금하다면, 아래 포스팅을 참조해보자.
( 참조: 파이썬으로 엑셀(xlsx) 파일 다루기, openpyxl 사용법 )



오늘은 위와 같이 파이썬이 엑셀보다 좋은 5가지 이유에 대해서 알아보았다. 이미 일부 기업에서는 파이썬을 업무 기본 환경으로 설정한 사례도 있다. 요즘 학생들은 코딩을 기본 교육으로 하는 만큼 앞으로는 파이썬을 활용할 수 있는 사람들이 늘어날 거이다. 중요한 건 속도인데, 속도도 굉장히 빠르다. 아마 몇 년 안에 많은 오피스에서 파이썬을 사용하는 모습을 보지 않을까 예상해본다.


오픈API를 사용하면 다양한 재미있는 일들을 해 볼 수 있다. 파이썬을 활용한 오픈API 사용이 궁금하다면 아래 글을 참조해보자.

(참조: 오픈API를 활용한 사례는 어떤 것들이 있을까?)


댓글()
  1. seon2 2020.05.31 14:34 댓글주소  수정/삭제  댓글쓰기

    감사합니다!

  2. Favicon of https://laurier-vora.tistory.com BlogIcon Laurier 2020.06.12 11:35 신고 댓글주소  수정/삭제  댓글쓰기

    제가 코딩에 대해서 전혀 알지를 못하고 그냥 일반적으로 엑셀을 써오고는 있으나 그것 역시 어떻게 사용하는지도 잘 모르면서 간단한 수식 계산하는 데만 사용하고 있었는데 가끔 인터넷에서 파이썬에 대한 내용들이 나와서 많이 궁금했습니다. 어떤 공무원이 파이썬을 이용하여 자료를 엄청나게 쉽게 목록화했다는게 이슈가 되기도 했다는데 아직 배워야 할 것이 많네요. 파이썬이 엑셀의 기능을 대체할 수도 있다는 것을 오늘에야 알았습니다. 정보 감사합니다~

  3. Favicon of https://gentlesark.tistory.com BlogIcon 🧞‍♂️ 2020.06.28 15:05 신고 댓글주소  수정/삭제  댓글쓰기

    파이썬은 사랑입니다.