ABOUT ME

초보 개발자의 코딩 노트( 코딩탕탕)

Today
Yesterday
Total
  • Python 데이터분석 기초 16 - web 에서 JSON 문서 읽기, DataFrame으로 만든 자료를 html 로 변형
    Python 데이터 분석 2022. 11. 1. 17:51

     

    # web 에서 JSON 문서 읽기
    import json
    import urllib.request as req
    
    url = "https://raw.githubusercontent.com/pykwon/python/master/seoullibtime5.json"
    
    plainText = req.urlopen(url).read().decode()
    print(type(plainText)) # <class 'str'>
    
    jsonData = json.loads(plainText)  # str --> dict : json 디코딩
    print(type(jsonData))  # <class 'dict'>
    
    print(jsonData['SeoulLibraryTime']['row'][0]['LBRRY_NAME']) # row 0번째의 LBRRY_NAME 호출
    
    libDatas = jsonData.get('SeoulLibraryTime').get('row')
    print(libDatas)
    
    print()
    datas = []
    
    for ele in libDatas:
        name = ele.get('LBRRY_NAME')
        tel = ele.get('TEL_NO')
        addr = ele.get('ADRES')
        # print(name + '\t' + tel + '\t' + addr)
        imsi = [name, tel, addr]
        datas.append(imsi)
        
    import pandas as pd
    df = pd.DataFrame(datas, columns = ['이름', '전화', '주소'])
    print(df)
    print(df.to_html()) # html 형식으로 바꿔준다.
    
    <console>
    <class 'str'>
    <class 'dict'>
    LH강남3단지작은도서관
    [{'LBRRY_NAME': 'LH강남3단지작은도서관', 'CODE_VALUE': '강남구', 'ADRES': '서울특별시 강남구 자곡로3길 22', 'FDRM_CLOSE_DATE': '매주 화요일,목요일', 'TEL_NO': '02-459-8700', 'XCNTS': '37.46997231', 'YDNTS': '127.0910208'}, {'LBRRY_NAME': '강남구립못골도서관', 'CODE_VALUE': '강남구', 'ADRES': '서울특별시 강남구 자곡로 116', 'FDRM_CLOSE_DATE': '매월 둘째, 넷째 화요일 및 일요일을 제외한 법정 공휴일', 'TEL_NO': '02-459-5522', 'XCNTS': '37.47153836', 'YDNTS': '127.096582'}, {'LBRRY_NAME': '강남역삼푸른솔도서관', 'CODE_VALUE': '강남구', 'ADRES': '서울특별시 강남구 테헤란로8길 36. 4층', 'FDRM_CLOSE_DATE': '2,4 주 화요일 및 법정 공휴일', 'TEL_NO': '02-2051-1178', 'XCNTS': '37.4964968', 'YDNTS': '127.0320274'}, {'LBRRY_NAME': '강남한신휴플러스8단지작은도서관', 'CODE_VALUE': '강남구', 'ADRES': '서울특별시 강남구 밤고개로27길 20(율현동, 강남한신휴플러스8단지)', 'FDRM_CLOSE_DATE': '토,일요일, 법정공휴일', 'TEL_NO': '02-445-9831', 'XCNTS': '37.46971323', 'YDNTS': '127.1130164'}, {'LBRRY_NAME': '강남한양수자인작은씨앗도서관', 'CODE_VALUE': '강남구', 'ADRES': '서울특별시 강남구 자곡로 260', 'FDRM_CLOSE_DATE': '매주 일요일', 'TEL_NO': '', 'XCNTS': '37.47586067', 'YDNTS': '127.1134903'}]
    
                     이름            전화                                      주소
    0      LH강남3단지작은도서관   02-459-8700                      서울특별시 강남구 자곡로322
    1         강남구립못골도서관   02-459-5522                       서울특별시 강남구 자곡로 116
    2        강남역삼푸른솔도서관  02-2051-1178                 서울특별시 강남구 테헤란로836. 43  강남한신휴플러스8단지작은도서관   02-445-9831  서울특별시 강남구 밤고개로2720(율현동, 강남한신휴플러스8단지)
    4    강남한양수자인작은씨앗도서관                                     서울특별시 강남구 자곡로 260
    <table border="1" class="dataframe">
      <thead>
        <tr style="text-align: right;">
          <th></th>
          <th>이름</th>
          <th>전화</th>
          <th>주소</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>0</th>
          <td>LH강남3단지작은도서관</td>
          <td>02-459-8700</td>
          <td>서울특별시 강남구 자곡로3길 22</td>
        </tr>
        <tr>
          <th>1</th>
          <td>강남구립못골도서관</td>
          <td>02-459-5522</td>
          <td>서울특별시 강남구 자곡로 116</td>
        </tr>
        <tr>
          <th>2</th>
          <td>강남역삼푸른솔도서관</td>
          <td>02-2051-1178</td>
          <td>서울특별시 강남구 테헤란로8길 36. 4층</td>
        </tr>
        <tr>
          <th>3</th>
          <td>강남한신휴플러스8단지작은도서관</td>
          <td>02-445-9831</td>
          <td>서울특별시 강남구 밤고개로27길 20(율현동, 강남한신휴플러스8단지)</td>
        </tr>
        <tr>
          <th>4</th>
          <td>강남한양수자인작은씨앗도서관</td>
          <td></td>
          <td>서울특별시 강남구 자곡로 260</td>
        </tr>
      </tbody>
    </table>

     

     

    댓글

Designed by Tistory.