IT/컴퓨터프로그램

[Python] 공공 데이터를 활용한 파이썬 CSV 파일 분석(법정동 코드 확인 하기)

chn1002 2023. 6. 14. 11:10

공공 데이터 포털에서 제공하는 CSV 데이터를 활용하여 파이썬의 pandas 라이브러리를 사용해 특정 조건에 따른 데이터를 추출하는 방법을 소개하겠습니다. '시도명', '시군구명', '읍면동명', '리명' 조건에 따른 '법정동코드'를 찾는 예제로 진행해 보겠습니다.

 

1. 공공 데이터 포털에서 CSV 데이터 다운로드


먼저 공공 데이터 포털에서 필요한 데이터를 찾아 CSV 파일 형식으로 다운로드 받습니다. 다운로드 받은 CSV 파일은 파이썬 코드가 있는 동일한 디렉토리 내에 위치시키는 것이 관리하기 편합니다.

https://www.data.go.kr/

 

2. 필요한 라이브러리 설치

이제 pandas 라이브러리를 설치해야 합니다. pandas는 데이터 분석에 매우 유용한 파이썬 라이브러리입니다. 설치는 아래와 같이 pip를 이용해 수행할 수 있습니다.

pip install pandas​

3. CSV 파일 읽기

다운로드 받은 CSV 파일을 pandas를 이용하여 읽어옵니다. 이때, 파일의 인코딩 방식에 따라 encoding 파라미터를 설정해야 합니다.

import pandas as pd
import os

df = pd.read_csv(os.getcwd() + '/data/land_code_20221031.csv', encoding='cp949')

 

4. 특정 조건에 따른 데이터 추출

이제 '시도명', '시군구명', '읍면동명', '리명'에 따라 해당하는 '법정동코드'를 추출하는 함수를 만들어보겠습니다.

def get_legal_dong_code(sido_name, sigungu_name, eupmyeondong_name, ri_name):
    filtered_df = df[(df['시도명'] == sido_name) & (df['시군구명'] == sigungu_name) & (df['읍면동명'] == eupmyeondong_name) & (df['리명'] == ri_name)]
    return filtered_df['법정동코드'].values

 

5. 결과 확인

마지막으로, 실제로 특정 조건에 따른 '법정동코드'를 찾아 화면에 출력해 보겠습니다.

sido_name = '강원도'
sigungu_name = '삼척시'
eupmyeondong_name = '노곡면'
ri_name = '상군천리'

codes = get_legal_dong_code(sido_name, sigungu_name, eupmyeondong_name, ri_name)

for code in codes:
    print(f'법정동코드: {code}')

 

이렇게 공공 데이터 포털에서 제공하는 CSV 데이터를 활용하여 파이썬의 pandas 라이브러리로 데이터 분석을 수행할 수 있습니다.