[Dances with the Last Samurai] 개발자 없는 통계업무 부서에서 (Django)+(Pandas)+(Selenium)+(python-docx)으로 통계업무도구 만들기

  • Science / Data
  • Difficulty Beginner
  • 2017-08-13 (일요일) 15:15 - 15:40
  • 한국어
  • 105
  • Photography and recording is allowed

Video

https://youtu.be/4qitjuT0UFg

Description

2016년 초, 발표자는 정부출연기관에서 국제통계작성 업무를 맡게 되었습니다. 매년 약 5만개 정도의 기업과 기관이 작성한 8페이지에 달하는 조사응답지를 취합하여, 검토하고 계산하고 통계를 작성하여, 수십페이지의 보고서와 400페이지에 달하는 통계표를 정부와 OECD에 제출하는 일입니다. 이 모든 과정이 전화기와 손으로 직접 쓴 이메일, 한글(HWP), 엑셀로만 이루어지고 있다는 현실에 충격을 받습니다. 선배들에게 데이터베이스를 구축해야한다고 제안하자, 이미 있다고 합니다. 기대에 차 모니터를 보니, "DB"라는 폴더에 연도별로 정리된 엑셀파일이 있습니다. 그리고 엑셀파일의 크기는 매년 커져서 파일이 열리다가 말고 다운되는 일이 수시로 발생하기 시작했습니다. 발표자는 통계업무용 시스템을 개발을 제안하였으나, 기존의 업무체계를 바꾸는 것은 위험성이 따르고, 이 업무는 혼자 하는 것이 아니라 새 체계에 적응이 어렵고, 우리 부서는 IT 부서가 아니다 등의 이유로 거절당하고 맙니다. 그럼에도 불구하고 발표자는 개발을 시작합니다. 0. 기존의 업무체계를 최대한 살리기 위해, 기존의 엑셀 파일을 이용한 업무체계를 자동화 하고(pandas, selenium), 1. 업무체계 바꾸는 것에 대한 위험성을 최소화하기 위해 손으로 하던 기존 업무는 그대로 하면서 새로 개발한 시스템과 비교하여 테스트를 하고, 2. 업무 적응의 충격을 최대한 줄이기 위해 누구나에게나 가장 익숙한 웹으로 개발하고(django), 3. 우리부서는 IT 부서가 아니기 때문에 주말과 밤 등 개인 시간을 활용하여 몰래 개발합니다. 그 결과, 엑셀로 된 로데이터 파일을 업로드 하면, 문제가 있는 기업이나 기관을 검출해주고, 자동으로 재조사 요청 이메일을 생성해주며, 통계까지 산출해주는 시스템을 완성하였습니다. 예전에 엑셀로 필터를 걸어 눈으로 데이터 검증하던 것을 웹페이지 상에 그래프로 visualization 함으로써 직감적으로 판단할 수 있게 되었습니다. 통계작성을 하는 팀원 중 한명이 시스템에서 데이터를 수정하거나, 코멘트를 남기면 해당 내용은 slack으로 실시간으로 공지됩니다. 데이터 검증 이후, 보고서 쓰느라 몇주 동안 밤을 새던 작업은 python-docx를 이용해 ms word 파일로 자동 생성하는 것으로 바뀌었고, 그 이후 사람은 디테일한 어조만 수정하고 있습니다. 본인이 스스로 만들어서 사용하는 시스템은 마치 가우디 성당과 같아서, 사용하면 할 수록 추가하거나 개선하고 싶은 것들이 보입니다. 지금도 앞으로도 끊임없이 개선해 나갈 예정입니다. 작년과 바뀐 점은 이제 사무실에서도 눈치 덜보고 pycharm을 켤 수 있으며, 다른 업무를 맡고 계신 분들도 자동화의 대열에 합류하셨다는 겁니다. 지난 1년간의 경험을 PYCON을 통해 공유하고 싶습니다.

Comments

blog comments powered by Disqus

Sponsors

플래티넘

골드

실버

브론즈