Link
09-25 13:23
«   2020/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Archives
Today
939
Total
1,023,685
관리 메뉴

꿈 많은 사람의 이야기

파이썬으로 업무 자동화하자! 데이터 흐름도(data flow chart) 만들기 본문

python

파이썬으로 업무 자동화하자! 데이터 흐름도(data flow chart) 만들기

이수진의 블로그 이수진의 블로그 2019. 2. 25. 10:01

안녕하세요.

이번 포스팅은 파이썬 업무 자동화 편입니다.


지난 포스팅에서 파이썬으로 pdf를 엑셀로 만드는 자동화에 대해서 포스팅을 했었는데요

이번 포스팅은 엑셀 데이터를 자동으로 데이터 흐름도(data flow chart)로 만들어주는 것을 해보려고 합니다.

데이터 흐름도가 무엇인지, 어떻게 활용될 수 있는지 등 차근히 알아보죠


단순히 구글에 데이터 흐름도라고 검색하시면 이렇게 그림이 나오는 것을 볼 수 있습니다.

음 이렇게 보니까 이번에 진행하는 것은 데이터 흐름도와 100% 일치한다고는 볼 수 없네요

하지만 100% 일치하도록 만들 수도 있습니다



살짝 dot format에 가깝습니다.

dot은 graph description language라고 불리는데요

텍스트 데이터를 흐름도 처럼 그려주는 것입니다.

단순히 엑셀처럼 텍스트로 쓰여져있던 데이터를 가지고 무언가를 표현하는 그림으로 표현해주는 것이죠

이번 포스팅의 목표도 그런 것입니다.



이렇게 됩니다.

왼쪽에 a->b->c 이렇게 있으면 오른쪽처럼 그림으로 그려주는 것입니다.

약간 이런 dot format과 data flow chart를 혼합한 업무 자동화 시스템을 해보려고 합니다.




저는 파이썬(python)을 활용해서 업무 자동화를 하려고합니다.

그리고 무엇보다 화면에 출력이 되어야하죠?

그래서 파이썬 django를 활용합니다.

파이썬 django는 파이썬에서 제공해주는 웹 프레임워크입니다.


서버단은 django를 이용하지만, 데이터를 화면에 시각화 해주는 클라이언트단이 필요한데요

그건 gojs라는 라이브러리를 활용할 것입니다.



gojs는 이렇게 보여지는데요

다양한 그래프를 지원해줍니다.

데모 버전으로 지원을 해주지만, 제대로 사용하시려면 유료 결제를 해야합니다!



엑셀 데이터는 이렇게 있다고 가정합니다.

맨 처음 단계부터, 수집, 저장, 이용, 제공, 파기 순으로 데이터가 흘러가는 것입니다.

A라는 단계 기준으로 수집은 대학교에서 하고 저장은 대학교 내부 통합정보에 저장을 한 뒤

컴퓨터공학과가 이용하고 다른 곳에 제공하는 제공사항은 없습니다. 파기는 영구보관을 한다고 가정합니다.



여기서는 key값이 존재합니다.

key는 고유적인 값으로 절대 겹쳐서는 안됩니다.

만약, 수집 단계에서 해당사항없음이 있고, 제공 단계에서 또 해당사항없음

이렇게 key가 연속해서 나오면 데이터가 겹치기 때문에 그래프가 깨질 수도 있습니다.

즉 이 값은 고유한 값입니다. 

그리고 이 key를 가지고 있는 것이 node(노드)라고 하는데요

이 노드를 이어주려면 from -> to 이런식으로 되어야 합니다.

위 사진은 실제 데이터가 아닌 컬럼(수집, 저장, 단계 등) 데이터를 만들어주고



이 데이터는 실제 데이터 node에 대한 값입니다.

이것을 하기 위해서 파이썬 라이브러리는 아까 처음에 소개해드린 장고(django)를 활용했구요

기본적인 pandas를 제외한 라이브러리는 사용하지 않았습니다.



그리고 파일을 가져와서 보여주면



이렇게 화면이 보여지게 됩니다.

맨위 A단계부터 보여지게 되고

왼쪽을 보면 컬럼 흐름도도 나오게 됩니다.

오른쪽은 데이터에 대한 실제 흐름도를 보여주게 되구요


아이콘은 gojs에서 제공해주는 shape를 사용해도 되지만 저는 svg를 활용했습니다.

아무래도 gojs에서 제공해주는 shape는 별로 이쁘지가 않더라구요 ㅎㅎ

여기까지 파이썬으로 업무 자동화하기 데이터 흐름도 자동화 글이었습니다.


4 Comments
댓글쓰기 폼