공공데이터 이용하기 16 (데이터 받아오는 방법 XML -> CSV)

KHW·2021년 4월 14일
0

Danfo.js

목록 보기
20/23
post-custom-banner

공공데이터 찾기

EX)
http://openapi.data.go.kr/openapi/service/rest/Covid19/getCovid19SidoInfStateJson?serviceKey=u%2BXsTVV1nl13bsl5mxFNCaZ0o48loSbVj4pQoNm2xFONwLswAgYcNrabZ9jBp7mIdKQZSgYV7NBAjOyHH6cr%2Fg%3D%3D&startCreateDt=20201231&endCreateDt=20201231

위와 같은 데이터를 startCreateDt와 endCreateDt 를 수정하면서 메모장에 붙여넣기 해준다.

주의할 점 : 메모장에 옮길때 ctrl +c -> ctrl + v 후 옮긴 후 맨위에 This XML머시기 첫줄은 제거한다.

단축키를 이용해 ALT+F 누른후 A를 눌러 다른이름으로 저장을 년도월일.txt로 저장한다.

xml to csv 적용시키기

https://json-csv.com/xml
해당사이트를 이용해 csv로 바꾼다.

210414일 현재 한달 양은 20분정도 걸린다.

해당 관련된 수정 파일들

setDate함수

for(let i=0;i<119;i++)
  {
    tDate.setDate(tDate.getDate()+1)        // 3월 4일 계산 후 하루씩 증가
    Year = tDate.getFullYear().toString().slice(2,4);       // 2020년이 아닌 뒤의 두자리 수만 필요하므로 slice 사용
    Month = (tDate.getMonth()+1).toString().length==1 ? '0'+ (tDate.getMonth()+1).toString() :(tDate.getMonth()+1).toString() ; // 한자리 수 인경우 앞에 0을 붙인다.
    Day = tDate.getDate().toString().length==1? '0'+tDate.getDate().toString() : tDate.getDate().toString();
    date_array.push(Year+Month+Day);    //합친 내용을 배열로 만들어 준다.
  }
  1. Daily_Increase_Day
  2. Daily_Total_Increase_Modify2

해당 i<119의 119를 매번 수정은 해야한다.

날짜차이구하는 사이트에서 구하면 예를들어 6월30일까지 업로드 완료했으므로
210304~210630까지 계산 요구하면 118이 나오고 거기서 1을 더한 119를 넣어야한다.

날짜차이구하는건 따로 코드로 나중에 구현해볼 생각을 해봐야겠다.
ex) startDay : 20210304
endDay : 20210630 이렇게 endDay만 바로 수정할수 있게끔 좀더 코드 개선필요

profile
나의 하루를 가능한 기억하고 즐기고 후회하지말자
post-custom-banner

0개의 댓글