[무역|7|Plotly] 해외시장조사 데이터 Guage chart 만들기
응답 받은 데이터의 XML tree구조 이해 및 parser 코드 구성하기
우선 요청메시지를 브라우저에 넣고 나온 결과를 보시겠습니다.
<response>
원문 자체가 길기 때문에 중략하였지만, 이 xml의 tree구조를 보시면 <items>안에 다시 <item>이라는 태그를 두고 있습니다. 바로 이 <item>태그 안에 우리가 관심을 갖고 있는 항목값들이 존재하고 해당 항목값은 <data>태그로 붙여진 속성 아래에 존재합니다.
우리가 지난 포스팅에서 보았던 관세청의 무역통계xml에서는 <item>태그아래에 바로 항목태그가 나오고, 해당값이 해당 항목태그에 바로 배치되어 있었던 반면, 이번 xml은 다시 <data>와 <datatype>이라고 하는 2개의 속성항목을 분리해 두고, <data>태그 아래에 우리가 원하는 값을 넣었습니다. 지난번 보다 한단계 더 깊이 들어가는 것이지요.
따라서, 지난번 parser를 그대로 사용할 수 없고, 한단계 더 아래로 내려가 값을 취하도록 약간의 수정을 가해야 합니다.
굉장히 골치 아플것 같지만 사실 매우 간단합니다.
지난번 코드는 아래와 같습니다.
for x in contents:
year = x.find("year").text
statCd = x.find("statcd").text
hsCode = x.find("hscd").text
즉, contents로 불러낸 값 안에서 year태그가 붙은 모든 항목을 찾아서 text형태로 year변수에 넣어달라고 하였습니다. 왜냐하면, year태그에 원하는 값이 그대로 들어 있기 때문이었습니다. 하지만, 이번에는 똑같은 경우에서 year태그 아래에 다시 data태그로 내려가야 우리가 추출할 값이 있습니다. 이럴 경우에는 data라는 태그명은 고정되어 있으므로, 단순히 .data만 더 붙여주면 해당 data태그안의 값이 추출됩니다.
그렇게 수정을 가한 코드는 아래와 같습니다.
for x in contents:
bhrcNatn = x.find("bhrcnatn").data.text
hsCd = x.find("hscd").data.text
mrktAcblt = x.find("mrktacblt").data.text
mrktAttrc = x.find("mrktattrc").data.text
mrktGrwth = x.find("mrktgrwth").data.text
mrktCmppw = x.find("mrktcmppw").data.text
rows.append({"국가명":bhrcNatn, "HS":hsCd, "시장접근성점수":mrktAcblt,
"시장매력도점수": mrktAttrc, "시장성장성점수":mrktGrwth, '시장경쟁력점수':mrktCmppw})
이제 rows 라는 빈 리스트안에 위 코드와 같이 항목명을 붙여서 series형태를 구성할 수 있도록 만들어 줍니다. 이후 이 rows를 DataFrame으로 변환합니다.
df = pd.DataFrame(rows,columns=["국가명", "HS", "시장접근성점수", "시장매력도점수", "시장성장성점수",'시장경쟁력점수'])
이로서 시각화를 위해 필요한 df라는 이름의 DataFrame이 확보되었습니다.
그럼 이어지는 3부에서 Plotly의 Guage Chart 작성 코드를 보시겠습니다.
(3부에 계속..)
NPU(엔피유) 관세사무소
대표관세사 고장주
Tel) 031-986-7190
E-mail) sales@npucus.com
[NPU관세사무소 프로모션 페이지] https://www.tradenpu.com/npu_cus/
[무역비지니스 인텔리전스 서비스 | TradeNPU] https://www.tradenpu.com
[파이썬 실용 예제. 무역과 공공데이터] https://pdatinmylife.tistory.com
Certified Customs Broker JangJu Goh
Executive Customs Broker @ NPU Customs Consulting
CEO @ JG TradePlus
sales@npucus.com
Trade Compliance / Customs clearance management at foreign company
Working experience of Air export freight forwarding
Data Visualization / Independent development of business automation application – copyright of JGPO_Manager, JG Data Center, AutoCC and etc.
B2B consignment & direct export/import, B2C Overseas Buying Office consulting
Alibaba.com B2B trade / taobao B2C trade / Amazon.com global selling etc. Online trade regulation consulting.
Import license / Quarantine
English communication available
[TradeNPU for partnership proposal - JGTP] https://www.tradenpu.com/jgtp/
'파이썬(Python) > 해외시장조사 데이터 Plotly Guage Chart' 카테고리의 다른 글
[무역|7|Plotly] 해외시장조사 데이터 Guage chart 꾸미기 (0) | 2020.07.12 |
---|---|
[무역|7|Plotly] 해외시장조사 데이터 Guage chart - XML parsing (0) | 2020.07.10 |