Data Engineering/데이터 분석

외부 파일 읽어오기- 1 (CSV)

12.tka 2020. 5. 29. 18:41
728x90

이번 글에서는 CSV파일을 읽어오는 방법을 알아보고자 한다.

 

CSV(comma separated values) 파일은 데이터 값을 쉼표(,)로 구분하는 파일이다. 

쉼표(,)로 열을 구분하고 줄바꿈으로 행을 구분한다. 판다스 read_csv() 함수에 확장자(.csv)를 포함하여 파일 경로(파일명)를 입력하면 CSV 파일을 읽어와서 데이터프레임으로 변환한다.

 

CSV 파일 -> 데이터프레임: pandas.read_csv("파일 경로(이름)")

 

CSV 파일을 읽어올 때 추가적으로 행과 열 이름값 설정을 할 수 있다.

 

header는 열 이름으로 사용할 행을 지정하는 옵션이다.

pandas.read_csv("파일 경로(이름)", header=?)에서 ?에 1을 넣으면 1행을 열 이름으로 지정한다. 기본값은 0이며 None을 넣어서 행을 열 지정하지 않을 수도 있다.

 

index_col은 행 인덱스가 되는 열을 지정하는 옵션이다.

pandas.read_csv("파일 경로(이름") index_col=?)에서 ?에 'c0'를 넣으면 'c0' 열을 인덱스로 지정한다. None 값을 대입하면 인덱스를 지정하지 않는다.

 

csv 파일

아래 코드는 위 csv 파일을 읽어오는 코드입니다.

import pandas as pd

file_path = './read_csv.csv'

# header, index_col 기본 값
df1 = pd.read_csv(file_path)
print(df1)
print('\n')

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

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

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

 

실행 결과


read_csv 함수 옵션

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

 

CSV 파일에 따라서 쉼표(,) 대신 탭(\t)이나 공백(" ")으로 텍스트를 구분하기도 한다. 이때는 구분자(sep 또는 delimiter) 옵션을 알맞게 입력해야 한다.

 

 

728x90

'Data Engineering > 데이터 분석' 카테고리의 다른 글

T-test (T검정)  (0) 2020.09.02
상관 분석  (0) 2020.09.02
외부 파일 읽어오기 - 2 (Excel, JSON)  (0) 2020.05.29
데이터프레임(Data Frame) 연산  (0) 2020.05.29
시리즈(Series) 연산  (0) 2020.05.29