pandas - [데이터전처리] 데이터 불러오기

c.haha.e·2025년 3월 24일

pandas

목록 보기
3/17

📌 데이터 불러오기

👉 대표적인 파일 종류와 불러오기 방법

파일 형식함수예시
CSVpd.read_csv()pd.read_csv('data.csv')
Excelpd.read_excel()pd.read_excel('data.xlsx')
JSONpd.read_json()pd.read_json('data.json')
SQLpd.read_sql()pd.read_sql('SELECT * FROM table', conn)
HTMLpd.read_html()pd.read_html('https://example.com')

👉 read_csv() 주요 옵션 정리

df = pd.read_csv('파일경로.csv', 
                encoding='utf-8',     # 인코딩 설정
                sep=',',              # 구분자 (기본은 쉼표)
                header=0,             # 헤더 행 번호
                names=['A','B','C'],  # 헤더를 직접 지정할 때
                usecols=['A','B'],    # 사용할 열만 불러오기
                index_col=0,          # 인덱스 열 지정
                skiprows=1,           # 첫 행 건너뛰기
                na_values=['?', 'NA'] # 결측치로 처리할 값
               )

👉 자주 발생하는 문제들

문제원인해결 방법
한글이 깨진다인코딩 문제 (utf-8cp949)encoding='cp949' 또는 encoding='utf-8-sig' 사용
열이 제대로 안 나뉜다구분자가 쉼표가 아님sep='\t' (탭), `sep='
컬럼명이 없다헤더가 없는 파일header=None, names=['A', 'B', 'C'] 등으로 수동 지정
컬럼명이 중복된다동일한 컬럼명이 존재함기본 설정으로 해결되며, 필요 시 mangle_dupe_cols=True 명시
숫자가 문자열로 들어옴데이터 타입 추론 오류dtype={'col': int} 또는 나중에 astype()으로 변환
불필요한 행이 읽힘머릿말, 각주 등으로 인한 문제skiprows=1 또는 skiprows=[0,2]로 건너뛰기
결측치가 숫자처럼 보임'-', 'N/A' 등의 기호na_values=['-', 'N/A'] 지정해서 결측 처리

👉 read_excel() 주요 옵션

df = pd.read_excel('파일명.xlsx',
                  sheet_name=0,         # 시트 번호 or 시트 이름
                  header=1,             # 헤더 행 번호
                  usecols='A:C',        # 사용할 열 범위
                  skiprows=[0,2],       # 건너뛸 행
                  na_values=['-']       # 결측값 처리
                 )

👉 예외 처리 (try-except)

try:
   df = pd.read_csv('data.csv')
except FileNotFoundError:
   print("파일이 존재하지 않습니다.")
except pd.errors.ParserError:
   print("CSV 구문 오류 발생!")

👉 이 단계에서 꼭 확인해야 할 체크리스트

  • 데이터가 잘 불러와졌는가?
  • 한글이 깨지지 않았는가?
  • 컬럼명이 제대로 되어 있는가?
  • 결측값이 어떤 형태로 들어왔는가? (na_values 옵션 확인)
  • 필요 없는 행(머릿말, 각주 등)이 들어오지 않았는가?
profile
기록용 블로그

0개의 댓글