Skip to content

Commit 6062f24

Browse files
committed
행정구역코드 조회 로직 수정 WooilJeong#50
- 원격 저장소에 배포된 행정구역코드 최신 데이터를 조회하도록 수정 > PublicDataReader에서 행정구역코드 데이터를 분리하여 별도 관리 가능 > 라이브러리를 업데이트하지 않아도 최신 행정구역코드를 조회할 수 있음
1 parent 0d0c19b commit 6062f24

File tree

3 files changed

+26
-18
lines changed

3 files changed

+26
-18
lines changed

PublicDataReader/config/info.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "1.0.21"
1+
__version__ = "1.0.22"
22
__author__ = "정우일(Wooil Jeong)"
33
__contact__ = "wooil@kakao.com"
44
__github__ = "https://github.com/WooilJeong/PublicDataReader"

PublicDataReader/utils/code.py

+24-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
import os
22
import json
3+
import requests
34
import pandas as pd
45

56
_path = os.path.dirname(__file__)
67
_project_root_path = os.path.dirname(_path)
7-
_code_bdong_json_path = f"""{_project_root_path}/raw/code_bdong.json"""
8-
_code_hdong_json_path = f"""{_project_root_path}/raw/code_hdong.json"""
9-
_code_hdong_bdong_json_path = f"""{_project_root_path}/raw/code_hdong_bdong.json"""
108
_code_vworld_json_path = f"""{_project_root_path}/raw/code_vworld.json"""
119

10+
_code_hdong_json_url = "https://raw.githubusercontent.com/WooilJeong/code/main/code/code_dong/code_hdong.json"
11+
_code_hdong_bdong_json_url = "https://raw.githubusercontent.com/WooilJeong/code/main/code/code_dong/code_hdong_bdong.json"
1212

13-
CODE_INFORMATION = F"""\
14-
출처: 행정기관(행정동) 및 관할구역(법정동) 변경내역(2023. 5. 1. 시행)
15-
URL: https://www.mois.go.kr/frt/bbs/type001/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000052&nttId=100215
16-
"""
13+
def get_code_dong_by_url(url):
14+
"""
15+
URL로 동 코드 JSON 읽기
16+
"""
17+
res = requests.get(url)
18+
return res.json()
1719

1820

1921
def read_json_file(file_path):
@@ -29,25 +31,31 @@ def code_bdong():
2931
"""
3032
법정동코드(실제주소) 데이터 반환
3133
"""
32-
print(CODE_INFORMATION)
33-
return pd.DataFrame(read_json_file(_code_bdong_json_path)).fillna("")
34-
34+
res = get_code_dong_by_url(_code_bdong_json_url)
35+
name = res['name']
36+
data = res['data']
37+
print(f"출처: {name}")
38+
return pd.DataFrame(data).fillna("")
3539

3640
def code_hdong():
3741
"""
3842
행정기관코드(행정동) 데이터 반환
3943
"""
40-
print(CODE_INFORMATION)
41-
return pd.DataFrame(read_json_file(_code_hdong_json_path)).fillna("")
42-
44+
res = get_code_dong_by_url(_code_hdong_json_url)
45+
name = res['name']
46+
data = res['data']
47+
print(f"출처: {name}")
48+
return pd.DataFrame(data).fillna("")
4349

4450
def code_hdong_bdong():
4551
"""
4652
행정기관코드 + 관할 법정동코드 데이터 반환
4753
"""
48-
print(CODE_INFORMATION)
49-
return pd.DataFrame(read_json_file(_code_hdong_bdong_json_path)).fillna("")
50-
54+
res = get_code_dong_by_url(_code_hdong_bdong_json_url)
55+
name = res['name']
56+
data = res['data']
57+
print(f"출처: {name}")
58+
return pd.DataFrame(data).fillna("")
5159

5260
def get_vworld_data_api_info_by_dataframe():
5361
"""

test/test_code_json.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"name": "python",
7070
"nbconvert_exporter": "python",
7171
"pygments_lexer": "ipython3",
72-
"version": "3.9.12"
72+
"version": "3.10.9"
7373
},
7474
"toc": {
7575
"base_numbering": 1,

0 commit comments

Comments
 (0)