웹찢남

동읍면 DB 만들기 본문

Database

동읍면 DB 만들기

harry595 2020. 11. 11. 23:38

이번에 공모전에 나가려고 Django를 사용해서 혼자 프로젝트를 진행중이에요.

근데 지역 기반으로 개발을 하려했는데 여기저기 찾아봐도 제 눈에는 DB를 못찾겠더라고요.

결국 찾은건 아래 사이트에서 찾은 저는 알아보기 힘든 데이터들...

그래서 이 고통을 받지 마시라고 대충 짠 코드라도 공유해봅니당..

 

www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=match

 

주소DB | 도로명주소 DB 다운로드 | 도로명주소 개발자센터

* 최근 2년 이내 자료를 제공합니다. * 19.8월 월변동분부터 관련지번 변동분이 제공됩니다(일변동 자료 현행화 방식 사용).

www.juso.go.kr

 

데이터는 아래와 같은 형태로 주어지더라고요

 

일정 형식에 맞춘 데이터 + 같은 동의 반복..

우선은 저 해괴한 숫자를 없애고 글만 뺴오는 방식으로 코딩을 진행했어요

또 청운동이 여러개가 나오면 안되니까 list로 저장한 후 set으로 변환하고 다시 list로 변경했어요

list로 다시 바꾼이유는 sort()를 쓰기위해서 였어요! (sorted를 써봤는데 안되더라고요..?)

코드만 남기겠습니다! 각자 목적에 맞게 사용하시면 될거 같아요

저는 개인적으로 1동 2동 이런걸 구분하지 않아도 되서 그냥 숫자를 없앴는데

그런 부분은 flag를 설정해서 없애시면 될 거같아요!

다들 이 코드로 꿀빠시길...

 

 

f=open('지번_충청북도.txt','r')
temp3=[]
temp2=''
while(1):
    temp=''
    line=f.readline()
    if not line: break
    raw=line.split("|")
    for j in raw:
        if(not (j.isdigit() or ('\n' in j) or j=='' or j[-1]=='리')):
            temp+=j+' '
    if(temp2!=temp):
        temp3.append(temp)
    temp2=temp

temp4=set(temp3)
f.close()
temp3=list(temp4)
temp3.sort()
print(temp3)

output:

 

+ 저는 저 temp3를 DB에 넣었는데 mysql 쓰시는 분들은 아래 코드 참고하세요!

donadb = pymysql.connect(
    user='root', 
    passwd='*****', 
    host='127.0.0.1', 
    db='donadb',
    port=33061
)
cursor = donadb.cursor(pymysql.cursors.DictCursor)
for a,b in enumerate(temp3):
    print(a,b)
    b.rstrip()
    sql = "INSERT INTO chungbuk_region VALUES({},'{}');".format(a,b)
    cursor.execute(sql)
    
donadb.commit()

'Database' 카테고리의 다른 글

Database - 6일차  (0) 2021.02.02
Database - 5일차  (0) 2021.02.02
Database - 4일차  (0) 2020.10.26
Database - 3일차  (0) 2020.10.07
Database - 2일차  (0) 2020.10.03
Comments