코드 작성하기

    작성한 알고리즘을 코드로 구현해 봅시다. 먼저 과정 1과 2를 코드로 옮겨 봅시다. 알고리즘을 참고해서 먼저 작성해 본 후 이 책의 코드를 보세요.

    사용하는 데이터 파일이 3개이므로 CSV 파일을 여는 변수와 데이터를 저장하는 변수들이 겹치지 않게 정합니다. 인구 데이터는 data, 행정동코드 데이터는 code_data, 위치 데이터는 location_data에 리스트로 저장합니다. 11장의 파일 읽기 코드에 위치 데이터를 읽어 들이는 코드를 추가하면 됩니다.

    # 1. 필요한 데이터 파일 모두 읽어 들이기
    import csv
    # 코랩의 파일 업로드
    # from google.colab import files
    # uploaded = files.upload()
    
    # 인구 데이터 읽어와서 리스트로 저장하기
    f1 = open('LOCAL_PEOPLE_DONG_201912.csv', encoding='utf8')
    data = csv.reader(f1)
    next(data)
    data = list(data)
    
    # 행정동코드 데이터 읽어와서 리스트로 저장하기
    f2 = open('dong_code.csv', encoding='utf8') # 또는 'cp949'
    code_data = csv.reader(f2)
    next(code_data)
    next(code_data)
    code_data = list(code_data)
    
    # 위치 정보 데이터 읽어와서 리스트로 저장하기
    f3 = open('dong_location.csv')
    location_data = csv.reader(f3)
    next(location_data)
    location_data = list(location_data)
    
    # 인구 데이터의 데이터 타입 변환하기
    for row in data:
        for i in range(1, 32):
            if i <= 2:
                row[i] = int(row[i])
            else:
                row[i] = float(row[i])
    
    # 행정동코드 데이터의 데이터 타입 변환하기
    for row in code_data:
        row[0], row[1] = int(row[0]), int(row[1]) # 7자리 행정동코드, 8자리 행정동코드
    
    # 위치 정보 데이터의 데이터 타입 변환하기
    for row in location_data: # row[2]: 행정동코드, row[-2]: 경도, row[-1]: 위도
        row[2], row[-2], row[-1] = int(row[2]), float(row[-2]), float(row[-1])
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.