Sun.El Data Analysis

[판다스] 파일 불러오기(read_csv, read_txt, read_excel 및 각종 옵션) 본문

Pandas

[판다스] 파일 불러오기(read_csv, read_txt, read_excel 및 각종 옵션)

Sun.El 2023. 6. 28. 17:04
728x90

1. csv 파일 불러오기 : pd.read_csv()

test = pd.read_csv('파일경로/파일명.csv')

 

2. text 파일 불러오기 : pd.read_txt()

test = pd.read_csv('파일경로/파일명.txt')

 

3. excel 파일 불러오기 : pd.read_excel()

test = pd.read_excel('파일경로/파일명.xlsx')

 

4. 각종 옵션

  • encoding = 
    - 불러오는 파일(text, csv 등)의 encoding 설정과  파이썬의 encoding 설정이 서로 맞지 않으면 UnicodeDecodeError 발생
    - 한글의 경우 'utf-8', 'cp949' 등을 사용
pd.read_csv('../data/test.csv', encoding = 'utf-8')

 

  • sep = 
    - 구분자를 기준으로 데이터를 읽음
    - csv 파일은 따로 입력하지 않아도 콤마(,)를 구분자로 하고, 콤마 외 다른 구분자의 경우 sep 옵션을 사용하여 지정해줘야 함
pd.read_csv('../data/test.csv', sep = '|')

 

  • index_col =
    - index로 지정하려고 하는 열의 숫자 또는 해당 컬럼명을 입력하여 index로 설정함
pd.read_csv('../data/test.csv', index_col = 0)
pd.read_csv('../data/test.csv', index_col = 'ID')

 

  • header = 
    -  컬럼명으로 지정하고자 하는 행의 번호
    - 파일을 불러올 때 파일 내에 컬럼명이 지정되어 있으면 header를 통해 names로 지정함
    - header가 없으면 header = None으로 쓰고, 만약 1번째 행이 칼럼 이름이라면 header = 0으로 지정해주면 됨
pd.read_csv('../data/test.csv', header = None)
pd.read_csv('../data/test.csv', header = 0)

 

  • names = 
    - 새로운 컬럼명
    - 일반적으로 header가 없는 파일을 불러올 때 컬럼명을 별도로 부여해 줄 때 쓰임
pd.read_csv('../data/test.csv', names = ['ID', 'A', 'B' ..])

 

  • nrows = 
    - 위에서부터 n개의 행만 부분적으로 불러오고자 할 때 사용
pd.read_csv('../data/test.csv', nrows = 3) ## 0~3번 행만 불러옴

 

  • skiprows = 
    - n번 행을 제외하고 불러올 때, n입력
    - n,  m번 특정 줄을 제외하고 불러올 때, [n, m]입력
pd.read_csv('../data/test.csv', skiprows = 5) ## 5번 행까지 스킵하고 6번 행부터 읽음
pd.read_csv('../data/test.csv', nrows = [3, 5]) ## 3,5번 행 스킵하고 데이터 읽음

 

  • usecols = 
    - 데이터를 불러올 때 컬럼명이나 컬럼 번호를 지정하여 일부 칼럼만 불러올 때 사용함
pd.read_csv('../data/test.csv', usecols = [1, 2, 5, 13]) ## 1, 2, 5, 13번 칼럼 불러옴
pd.read_csv('../data/test.csv', usecols = ['ID','C','F']) ## 'ID','C','F' 칼럼명의 칼럼 불러옴

 

  • na_values = 
    불러오려는 데이터 파일 내에 제외해야 하는 다양한 모양, 기호 값을 지정하여 결측값 기호를 표기함
pd.read_csv('../data/test.csv', na_values = ['?', '??', 'N/A', 'NA', 'nan', 'NaN', '-nan', '-NaN'] )

 

  • dtype =
    - 판단스는 데이터셋을 읽어드릴 때 첫번째 행의 데이터를 기준으로 각 칼럼별 데이터 타입을 추정하여 자동으로 세팅함
    - 사용자의 의도와 잘못 데이터 타입을 불러오는 경우가 있으므로 dtype 옵션으로 각 칼럼별 데이터 타입을 명시적으로 설정해 줌
pd.read_csv('../data/test.csv', dtype = {"ID": int, "LAST_NAME": str, "AGE": float} )

 

  • thousands =
    - 데이터셋을 읽어드릴 때 숫자형 변수의 천 단위 구분 기호인 콤마(',')를 없애는 옵션
    - thousands = ',' 옵션 설정시 천 단위 자리수 구분 기호인 콤마 없애고 불러옴
pd.read_csv('../data/test.csv', thousands = ',') ##천자리 구분 기호 콤마 없애고 데이터를 불러옴