brunch

You can make anything
by writing

C.S.Lewis

by 반병현 Dec 28. 2018

수 천 개의 텍스트 파일을 엑셀 하나로 합쳐 보자(2)

패키지 설치 및 활용

  본 강좌는 이전 강좌에서부터 이어지는 내용입니다. 이번에는 단순히 파이썬 라이브러리를 설치하는 과정과 이를 통해 csv파일을 xlsx로 변환하는 과정만 다루어 볼 것이므로 굳이 이전 강좌를 읽고 오실 필요는 없습니다.



  자, 오늘은 겉멋을 좋아하는 사람이라면 반드시 숙지해야 될 기본 스킬을 가르쳐 드리도록 하겠다. 이전 글에서 파이썬을 써야 하는 이유를 설명한 적이 있다. 여러분이 어떤 어려워 보이고 복잡한 작업을 수행하고 싶다고 치자. 이럴 때 구글을 조금만 둘러보면 프로그래밍을 아주 잘하는 뛰어난 고수가 만들어서 무료로 배포해 둔 패키지가 반드시 있을 것이다. 오늘은 그걸 가져와서 사용하는 방법을 배워 볼 것이다.


  단순 업무를 컴퓨터에게 하청 줘버리는 것도 겉멋 부리기 좋은 요소지만, 그 작업을 세계 정상급 개발자의 솜씨를 무료로 빌려와 수행할 수 있다면 더더욱 겉멋 부리기 좋지 않겠는가?


  자, 먼저 여러분들은 구글 검색에 익숙해져야 한다. 우리는 지난 강좌에서 수 천 건의 개인정보를 하나씩 불러와 csv파일로 저장하는 작업을 마쳤다. 이제 이 csv파일을 xlsx파일(엑셀 파일) 형태로 바꾸려면 어떻게 해야 할까? 여기에는 두 가지 방법이 있을 것이다.


  (1) 작업을 수행하는 과정에서 처음부터 csv가 아니라 xlsx로 저장하도록 프로그램을 바꾼다.

  (2) 작업이 다 끝난 뒤 csv파일을 xlsx로 바꿔 준다.


  오늘은 후자를 실습해 볼 것이다. 후자가 더 간단하기 때문이다. 전자를 수행해 보고 싶은 독자가 계실 것 같아 약간의 힌트를 드리겠다. 구글에 "파이썬 xlwt"라고 검색해 보도록 하자. xlwt는 엑셀을 출력(write) 하는데 특화된 라이브러리다. 이 라이브러리를 이용하면 작업을 쉽게 수행할 수 있을 것이나, 기존 코드의 for문에서 write 부분을 크게 수정해야 할 것이다.


  자, 구글에 "파이썬 csv xlsx 변환"이라고 검색해 보자. 많은 자료가 좌라락 뜰 것이다. 네이버나 다음과 같은 다양한 포털이 있지만 왜 필자가 구글을 고집하는 걸까? 그건 바로 IT기술 관련 자료는 99%가 영어로 되어 있고, 영어로 된 사이트를 검색하는 데에는 구글만큼 편한 도구가 없기 때문이다.


  여러 검색 결과물들 중 필자의 관심을 가장 끌었던 것은 바로 이 페이지다.


  https://code.i-harness.com/ko-kr/q/10dd882


  이 페이지에서 시키는 대로 한번 작업을 수행해 보도록 하자. 참고로 이 사이트의 문장들은 말투가 어딘가 모르게 이상하다. 아마 원래는 영어로 된 사이트지만 자동으로 한글로 번역된 것이 아닐까?


  


  먼저 cmd창을 켜 준다. 여러분은 이제 이 창을 능숙하게 켤 수 있을 것이다. 혹시 아직도 cmd창을 켜는 데 익숙하지 않은 독자가 있다면 반성하기 바란다. cmd창을 키보드만 이용하여 멋지게 켜는 것은 겉멋의 알파요 오메가이기 때문이다.


  여담이지만 cmd창에 ipconfig라고 입력하면 무슨 글자가 좌라락 뜰 것이다. 여러분 컴퓨터의 ip주소와 관련된 정보들이다. 정말 별 것 아니지만 글자가 갑자기 많이 떠오르기에 허세 부리기 딱 좋다.


  한때 "여자 후배가 컴퓨터를 고쳐달라는 부탁을 하기에 cmd창에 ipconfig를 치고, 책상을 쾅 내리치며 '젠장 해킹이야 지켜내지 못했어!'라고 했더니 그 여후배가 눈물을 흘리며 '하지만 나는 지켰잖아.'라고 대답해서 둘이 연인 사이가 되었다"는 내용의 우스갯소리가 인터넷상에서 인기였던 적이 있다. 이 이야기에 감명을 받아 아래와 같은 글을 적어본 적이 있었다.



  헌법 스터디 중, 끓어오르는 분노를 참지 못하고 책상을 쾅 내리치고 말았다.

  

  "젠장, 북한은 헌법상 미수복지역이야!"

  "하지만 내 마음은 정복했잖아!"


  커플 탄생.



  아무튼, 필자가 왜 이렇게까지 ipconfig라는 자주 쓰지도 않을 명령어에게 쓸데없이 지면을 할애하면서 비중을 두고 있냐면, 컴퓨터를 좀 할 줄 아는 사람으로 보이고 싶을 때 허세를 부리는 용도로 쓰기 좋기 때문이다.



  위 글 초반에 등장하는 필자의 대학원 시절 책상 사진을 보면, 우측 모니터 우측 하단에 ipconfig가 떡하니 등장한다.

  


  오래간만에 겉멋을 부리는 방법을 전수할 기회가 찾아와 흥분했다. 다시 본론으로 돌아오자면, cmd창에 아래 명령어를 입력해 보기 바란다.


  pip


  하얀 글자가 좌라락 떠오른다면 여러분 컴퓨터에는 파이썬 설치가 아주 잘 된 것이며, 무언가 심상치 않은 오류 메시지가 뜬다면 안타깝지만 여러분의 컴퓨터에는 pip이 설치되지 않은 것이다. 파이썬 설치 화면에서 pip 설치 유무를 묻는 창이 떴을 텐데 이때 여러분들은 예스맨의 기운을 받아들였어야 했다. 신앙이 부족했던 탓이다. 혹시나 pip이 정상 작동하는 독자 여러분들은 아래 명령어를 입력하자.


  pip install pyexcel pyexcel-xlsx


pip을 이용한 패키지 설치 과정

  pip은 파이썬을 위한 패키지를 관리해 주는 툴이다. install은 설치를 하라는 의미이다. 즉 위 명령어는 pyexcel과 pyexcel-xlsx라는 패키지를 컴퓨터에 설치하라는 의미다. 더 자세한 사항은 구글에 "파이썬 pip"이라고 검색해 보기 바란다.


  혹시나 pip에 문제가 있는 사람은 구글에 "윈도 pip 설치" 등을 검색해서 문제를 해결하고 오자. 파이참에서도 패키지를 설치할 수 있으니 "파이참 패키지 설치" 등으로도 검색해 보면 좋겠다.


  자, 설치가 다 끝났다면 두 가지 방법이 있다. 하나는 textmerge/폴더를 워킹 디렉터리로 하는 파이썬 인터프레터 창을 하나 띄우는 것이고 다른 하나는 textmerge/폴더 안에 새로운 파이썬 스크립트를 작성해서 집어넣은 뒤 git bash로 실행시키는 것이다. 익숙해지면 전자의 경우 시간을 대폭 단축할 수 있다. 관심 있다면 "파이썬 워킹 디렉터리"라고 검색해 보자.


  자, 파이참을 실행하자.


file - open을 클릭하자.
textmerge 폴더를 선택하고 ok를 누르자

  이때 automation_edu를 선택해 버리면 working directory가 automation_edu/로 잡히게 된다. 그러니 textmerge를 선택하고 ok를 눌러 주자. 사소한 차이가 있긴 한데 이로 인해 여러분들이 고생할 수 있다. ok를 누르면, 경우에 따라 현재 창에서 실행할 것인지 새로운 탭에서 실행할 것인지 물어보는 창이 뜰 수도 있다. 취향에 따라 선택하자. 필자는 노빠꾸 상남자이므로 무조건 현재 창에서 실행한다.


새로운 python file 생성

  정상적으로 폴더가 실행되었다면 좌측에 목록이 뜰 것이다. 여기서 textmerge 폴더를 마우스 우클릭하고, new - python file을 선택해 준다. 그러면 새로운 파이썬 파일이 생성된다. 파일명은 적당히 지어주자.


  그리고 새로 만들어진 파일에 아래 코드를 복사해서 붙여 넣는다.


이어지는 내용은 아래 링크에서 감상하실 수 있습니다




매거진의 이전글 수 천 개의 텍스트 파일을 엑셀 하나로 합쳐 보자(1)
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari