빅데이터 분석가 양성과정/Python

공공데이터 분석(커피전문점) - Load Data

분석가 황규진 2024. 7. 8. 11:32

MS엑셀(Excel)에서 UTF-8로 된 CSV파일 불러오기

  • 기존 euc-kr 데이터 추출형식으로 인해 업소명 오류가 발견되었으며 이를 개선하고자 UTF-8 형식으로 추출하였습니다.
  • 개발자가 아닌 일반사용자의 경우 euc-kr(UTF-8 이나 UTF-16)이 아닌 CSV파일을 엑셀에서 바로 열면 한글이 모두 깨지게 됩니다.
  • 바로 열지 마시고 다음 절차를 거치시기 바랍니다.
    • 엑셀을 실행하고 데이터 → 텍스트를 선택합니다.
    • 가져올 파일을 선택하고 확인을 클릭합니다.
    • 콤보 박스에서 적절한 코드 타입이 선택됐는지 확인합니다.
      • UTF-8의 코드 페이지 넘버는 65001입니다.
    • 원본 데이터 파일 유형을 ‘구분 기호로 분리됨’ 선택합니다.
    • 기타 ‘|’(파이프) 입력, 3단계 텍스트로 선택합니다.
    • 단, 지번코드, 건물관리번호, 신우편번호, 경도, 위도 등 행마다 텍스트 선택

※ 업종(대분류) : 관광/여가/오락, 부동산, 생활서비스, 소매, 숙박, 스포츠, 음식, 학문/교육

 

 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 시각화를 위한 라이브러리를 불러옵니다.
import seaborn as sns
import matplotlib.pyplot as plt
import platform

from matplotlib import font_manager, rc
%matplotlib inline

# macos에서 사용가능한 한글 글꼴 확인 코드
[f.name for f in font_manager.fontManager.ttflist if 'Neo' in f.name]
temp = pd.read_csv('공공데이터분석/소상공인시장진흥공단_상가(상권)정보_서울_202012.csv',sep = '|',encoding = 'UTF-8')
temp
  • 폴더에 있는 다른 모든 csv 파일 읽어와서 하나로 만들어줌(컬럼이 같아야함)

# data 폴더에 있는 모든 csv 파일을 읽어오기 위해 glob을 사용합니다.
from glob import glob # os

# csv 목록 불러오기
file_names = glob("공공데이터분석/*.csv")
total = pd.DataFrame()
# 모든 csv 병합하기
for file_name in file_names:
    temp = pd.read_csv(file_name, sep='|', encoding='utf-8')
    total = pd.concat([total, temp])

# reset index
total.reset_index(inplace=True, drop=True)
total

total.info()

# 분석에 필요한 column을 고릅니다. ## 자유롭게 하셔도 상관없습니다.
data = total[['상호명', '지점명', '상권업종대분류명', '상권업종중분류명', '시도명',
             '시군구명', '행정동명']]

data

data.info()

# 메모리 낭비를 막기 위해 필요없는 변수는 제거합니다.
del total

 

total.head()