[데이터 입출력/외부 파일 읽어오기] CSV 파일

2022. 10. 20. 13:00

CSV(comma-separated values)는 데이터 값을 쉼표로 구분하고 있는 텍스트 파일이라는 뜻이다.

쉼표로 열을 구분하고 줄바꿈으로 행을 구분한다.

 

pandas.read_csv('파일 경로(이름)')

read_csv() 함수에 확장자를 포함한 파일 경로(이름)을 입력하면 CSV파일을 읽어서 데이터프레임으로 반환한다.

 

read_csv() 함수의 header 옵션은 데이터프레임의 열 이름으로 사용할 행을 지정한다.

기본 값은 0행을 지정하도록 되어 있다.

header 옵션에 None을 입력하면 열 이름은 정수로 표현된다.

 

index_col 옵션은 데이터프레임의 행 인덱스가 되는 열을 지정한다.

index_col 옵션을 지정하지 않으면 행 인덱스는 정수가 자동으로 설정된다.

 

 

read_csv_sample.csv

위 CSV 파일을 예제로 사용할 것이다.

 

# 예제 2-1

import pandas as pd

file_path = 'read_csv_sample.csv'

df1 = pd.read_csv(file_path)
print(df1)
print('\n')

df2 = pd.read_csv(file_path, header=None)
print(df2)
print('\n')

df3 = pd.read_csv(file_path, index_col=None)
print(df3)
print('\n')

df4 = pd.read_csv(file_path, index_col='c0')
print(df4)

 

예제 2-1 출력 결과

df3의 경우 header 옵션을 지정해주지 않아 0행이 자동으로 header로 지정된 것을 볼 수 있다.

df4의 경우 index_col='c0' 옵션을 사용하여 'c0' 열이 행 인덱스가 되는 것을 볼 수 있다.

 

 

CSV 파일에 따라서는 쉼표(,)대신 탭(\t)이나 공백(' ')으로 텍스트를 구분하기도 한다.

이때는 구분자(sep 또는 delimiter) 옵션을 알맞게 입력해야 한다.

 

아래 표는 read_csv() 함수의 옵션을 정리해놓은 표이다.

옵션 설명
path 파일의 위치(파일명 포함), URL
sep(또는 delimiter) 텍스트 데이터를 필드별로 구분하는 문자
header 열 이름으로 사용될 행의 번호(기본값은 0)
header가 없고 첫 행부터 데이터가 있는 경우 None으로 지정 가능
index_col 행 인덱스로 사용할 열의 번호 또는 열 이름
names 열 이름으로 사용할 문자열의 리스트
skiprows 처음 몇 줄을 skip할 것인지 설정(숫자 입력)
skip하려는 행의 번호를 담은 리스트로 설정 가능(ex: [1, 3, 5])
parse_dates 날짝 텍스트를 datetime64로 변환할 것인지 설정(기본값은 False)
skip_footer 마지막 몇 줄을 skip할 것인지 설정(숫자 입력)
encoding 텍스트 인코딩 종류를 지정(ex: 'utf-8')

파이썬 머신러닝 판다스 데이터분석
저자 : 오승환
출판 : 정보문화사
발매 : 2019.06.05

 

BELATED ARTICLES

more