귀퉁이 서재

토이 프로젝트 - 메일 스크립트 자동 생성 프로그램 본문

토이(Toy) 프로젝트

토이 프로젝트 - 메일 스크립트 자동 생성 프로그램

Baek Kyun Shin 2019. 9. 14. 20:57

8월 17일부터 18일까지 양일간 2019 PYCON에 참가했습니다. 작년에도 참가했었는데 그때 많은 인사이트를 얻어 올해도 참가하기로 했었습니다. 그런데 기대가 너무 커서 그랬는지 생각보다 별로인 강연이 많았습니다... 아무튼, 그중 가장 기억에 많이 남는 강연은 코딩하는 공익 반병현씨의 키노트였습니다. 반병현씨는 카이스트 석사를 마치고 노동청에서 공익 근무를 했습니다. 노동청에 배치를 받고 단 며칠만에 반년 동안 해야할 일을 끝내버렸습니다. 파이썬을 이용해서 말이죠. 그것이 회자되고 회자되어 뉴스에도 나오는 등 엄청난 반향을 일으켰습니다.

반병현씨는 어떤 목적을 위해 코딩한다기보다 그냥 코딩 자체가 재미있어서 하는 사람 같았습니다. 그 강연에서 인사이트를 얻어 제 주변에서도 코딩으로 해결할 수 있는 간단한 게 뭐가 있을지 생각해봤습니다. 가장 먼저 떠오른 것이 회사에서 수작업으로 하던 일들입니다. 그중 강사에게 메일을 보내는 작업이 떠올랐습니다. 사실 진작에 생각했었지만 실천하지 못하고 있었습니다. 이참에 한번 해보자고 마음먹고, PYCON이 끝난 저녁에 바로 구상하기 시작했습니다.

아래는 그날 구상하던 것을 끄적거린 것입니다.

저는 현재 강사에게 매주 메일을 보내고 있습니다. 어떤 강의가 언제, 어디서, 몇시부터 몇시까지 있다는 것을 알려드리는 메일입니다. 회사에서 공유하여 쓰고 있는 엑셀에 일정, 강사, 과정, 시간 등의 정보가 있습니다. 이 엑셀을 참고하여 일정에 맞게 강사에게 메일을 보내는 것입니다. 매번 보낼 때마다 지난번에 보낸 메일을 재전송하여 수정할 부분을 수작업으로 수정해서 메일을 보내왔습니다. 하지만 충분히 메일을 자동생성하는 프로그램을 만들 수 있을 것 같습니다.

거창한 프로그램은 아니지만 실생활의 불편한 점을 개선했다는 것에 의의를 두고 있습니다. 총 400줄로 구성되어 있으며, 실제 투자한 시간은 10시간 정도 되는 것 같습니다. 중간에 일주일간의 여름 휴가가 있었고, 머신러닝 공부와 병행을 해서 기간으로 따지면 길었지만 투자한 시간은 10시간 정도였던 것 같습니다.

파이썬을 활용했고, 라이브러리는 pandas, numpy, openpyxl, datetime을 사용했습니다. 다행히 회사에서 공유되고 있는 파일 형식이 엑셀이라 data frame으로 가공하기 편리했습니다. 

resource 파일은 회사에서 쓰고 있는 원본 엑셀 파일과 input 파라미터를 조정할 수 있는 엑셀 파일입니다. 이를 활용하여 원하는 강사 메일을 자동으로 생성해주는 파이썬 프로그램을 만들었습니다. 이를 pyinstaller를 활용하여 실행파일로 만들었습니다. 그 실행 파일과 input 파라미터 조정 엑셀 파일만 있으면 누구든 사용할 수 있습니다. 

자세한 코드 및 설명은 제 깃헙 저장소에 남겼습니다. (RPA-Mail_Script_Automation)

 

 

Comments