TIL 2 | 공공데이터 오픈API 활용
엑셀의 세계는 무궁무진하다,, 물론 구글 스프레드시트를 이용해서 데이터를 만지작거려봤지만,,
내가 이거 배워서 써먹을 때는 어떻게 하게 될지 감이 오지 않을 정도
어제 파워쿼리 변환을 하면서 궁금했던 점이 '10만개'같은 텍스트 형식의 숫자를 어떻게 잘 정제할 수 있을까?였다.
우선 나는 [쿼리 편집기]-[변환]-[값 바꾸기]를 이용해 '개'를 없애고, '만'은 '0000'으로 바꿔주었다.
그렇게 정수로 형식까지 바꿔주면 숫자로 인식은 되는데, '100000'으로 가독성 떨어지는 형태가 되었다 🥹
천(1000)단위 구분 쉼표를 만들어주고 싶었는데, 드디어 찾아냈다!
쿼리 편집기를 닫고, [홈]-[쉼표]를 눌러주면 되는 간단한 문제였다. ^_^...
어제는 그냥 냅다 복사+붙여넣기 했던 API 호출하는 URL의 의미를 새로 배웠다.
http://apis.data.go.kr/B552015/NpsBplcInfoInqireService/getBassInfoSearch?/ldong_addr_mgpl_dg_cd=41&ldong_addr_mgpl_sggu_cd=117&ldong_addr_mgpl_sggu_emd_cd=101&wkpl_nm=삼성전자&bzowr_rgst_no=124815&pageNo=10&startPage=10&numOfRows=1&pageSize=1&serviceKey=
이렇게 기--다란 URL에도 각 메시지가 담겨있고 인증키까지 넣을 수 있다는 사실,,
http://apis.data.go.kr/B552015/NpsBplcInfoInqireService/getBassInfoSearch?
물음표 앞까지 해당 데이터의 기본 주소이다.
ldong_addr_mgpl_dg_cd=41&ldong_addr_mgpl_sggu_cd=117&ldong_addr_mgpl_sggu_emd_cd=101&wkpl_nm=삼성전자&bzowr_rgst_no=124815&pageNo=10&startPage=10&numOfRows=1&pageSize=1&
굉장히 많은 &.... 사이사이에 있는 파라미터를 연결시켜주는 역할이다.
쉽게 말하면 치킨 그리고 떡볶이 그리고 오이 같은 느낌. 그래서 각 파라미터 뒤에 연결시킬 게 있을 때 붙는다.
파라미터 중 page 어쩌구들은 보통 붙는 요청메시지이고, 위의 ldong 어쩌구들은 필요한 데이터항목에 따라 달라진다.
serviceKey=
서비스키 다음에는 문서로 부여받은 일반 인증키를 붙여넣으면 된다
위에서 언급한 ldong 어쩌구들이다. 지금은 법정동주소 등이 필요한 데이터를 요청했으니 이런 항목명이 나왔는데,
주소코드가 아닌 다른 코드가 필요한 데이터라면 또 다른 항목의 요청메시지들이 나올 것!
이렇게 요청메시지 명세를 보고 각 파라미터값이 무엇을 의미하는지 뜯어볼 수 있다.
여기서 [항목구분]을 조금더 자세히 들여다보면, 0과 1로 구분이 되어있는데
0으로 구분된 항목은 해당 요청메시지를 생략해도 데이터 호출이 가능하다.
이렇게 데이터를 내려받으면
'seq'를 발견할 수 있는데, 기업식별번호이다.
이 기업식별번호를 또 URL에 포함시켜서 상세정보를 받을 수 있다.
이렇게 기업식별번호와 년월을 입력할 수 있게 해두었지만,
기간이 필수가 아니기 때문에 매월 데이터가 차곡차곡 쌓여있을 확률이 적다고 한다. 항목 구분에도 0으로 되어 있다.
그러면 년월 항목을 비워두고 호출하면 어떻게 될까?
가장 최근 데이터를 불러온다 🤓
모든 절차를 다 성공하면 내가 조회하고자 했던 사업장의 월 입/퇴사자 수를 알 수 있다!
왼쪽이 퇴사자, 오른쪽이 입사자다.
내가 조회한 회사는 과연 어딜까 🙉
혼자 집에 박혀서 공부하니 너무 루즈해지고 자꾸 책상 옆 침대에서 쪽잠을 자려고 하는 나를 발견한다,,
어디든 나가서 공부하는 습관을 들여야겠다.
그리고 TIL은 처음부터 너무 고퀄리티로 열심히 하면 지친다고 생각하는 사람이라 많이 힘 들이지 않고 적자고 다짐하지만
내가 배운 걸 되새기면서 적다보니 하나하나 또 적고 있는 나를 발견,,,
전 직장 블로그를 쓸 때 퀄리티 낮게 휘갈긴 글이 싫어서 두 세시간씩 야근하며 적었던 기억이 새록새록하다
아직까지 지식 정리도 제대로 되지 않았지만, 또 훗날에 구글링하다 여기까지 오게 되는 길 잃은 어린양들이 볼 수도 있겠다는 생각에
내 나름의 최선을 다해 스텝바이스텝을 꼼꼼히 적어두게 되는 것 같다
그래서 지금 실제로 내가 배운 것보다 기록하는 진도가 더 느리지만! 더 꼼꼼히 더 많이 기록하고 기억하자 🫧