Python/Pandas Tutorial

[Python] Pandas Tutorial :: read csv, txt file with pandas

슈퍼짱짱 2020. 9. 19. 08:05
반응형

이전에 pandas란 무엇인지, 데이터 프레임과 시리즈에 대해 간단히 알아보았다.

2020/09/18 - [Python/Pandas Tutorial] - [Python] Pandas Tutorial :: pandas란? 데이터프레임이란? 시리즈란?

 

이번에는 ,(쉼표)로 분리된 csv, txt 파일과 /t(tab)으로 분리된 파일, header가 없는 파일을 불러오는 방법에 대해 알아보자.

 


판다스로 csv 파일 불러오기

 

0. import pandas library

0-1. pandas library가 설치되어 있는지 확인

 

> !conda list | grep pandas

 

pandas 0.20.3 py36hd6655d8_2

 

참고 :: 설치된 library 목록 확인

 

> !conda list

 

# packages in environment at /Users/apple/anaconda3:
#
# Name                    Version                   Build  Channel
_anaconda_depends         5.0.1            py36h6e48e2d_1  
_ipyw_jlab_nb_ext_conf    0.1.0            py36h2fc01ae_0  
_tflow_select             2.3.0                       mkl  
absl-py                   0.1.10                   pypi_0    pypi
alabaster                 0.7.10           py36h174008c_0  
anaconda                  custom           py36ha4fed55_0  
anaconda-client           1.6.5            py36h04cfe59_0  
anaconda-navigator        1.6.10           py36h62d491b_0  
anaconda-project          0.8.0            py36h99320b2_0  
appnope                   0.1.0            py36hf537a9a_0  
appscript                 1.0.1            py36h9e71e49_1  
asn1crypto                0.22.0           py36hb705621_1  
astor                     0.6.2                    pypi_0    pypi
astroid                   1.5.3            py36h1333018_0  
astropy                   2.0.2            py36hf79c81d_4  
atari-py                  0.1.1                    pypi_0    pypi
audioread                 2.1.5                    pypi_0    pypi
audiosegment              0.9.0                    pypi_0    pypi
babel                     2.5.0            py36h9f161ff_0  
backports                 1.0              py36ha3c1827_1  
backports.shutil_get_terminal_size 1.0.0            py36hd7a2ee4_2  
beautifulsoup4            4.6.0            py36h72d3c9f_1  
bitarray                  0.8.1            py36h20fa61d_0  
bkcharts                  0.2              py36h073222e_0  
blas                      1.0                         mkl  
blaze                     0.11.3           py36h02e7a37_0  
bleach                    1.5.0                    pypi_0    pypi
bokeh                     0.12.10          py36hfd5be35_0  
boto                      2.48.0           py36hdbc59ac_1  

 

...

 

0-2. import library

 

import pandas as pd

 


1. read csv file with pandas (쉼표로 구분되어 있는 파일)

쉼표로 구분되어 있는 csv 파일을 불러오는 코드는 다음과 같다.

(실습에 사용된 모든 데이터는 아래 첨부해 놓았다.)

 

괄호 안에 데이터가 저장되어있는 경로를 입력해준다.

 

df = pd.read_csv("01. Data/friend_list.csv")

 

결과는 다음과 같다.

 

> df

 

    name  age        job
0   John   20    student
1  Jenny   30  developer
2   Nate   30    teacher
3  Julia   40    dentist
4  Brian   45     managr
5  Chris   25     intern

 

(참고) friend_list.csv

 


2. read txt file with padas (쉼표로 구분되어 있는 파일)

 

쉼표로 구분되어있는 txt 파일은 csv 파일 불러오는 것과 동일한 코드로 불러온다. 확장자만 경로에 잘 넣어주면 된다.

 

df = pd.read_csv("01. Data/friend_list.txt")

 

friend_list.txt

 

 


3. read txt file with padas (tab으로 구분되어 있는 파일)

tab으로 구분되어 있는 파일을 불러올 때는 delimiter'/t'로 지정해준다.

 

df = pd.read_csv("01. Data/friend_list_tab.txt", delimiter = "\t")

 

friend_list_tab.txt

 

 


4. read csv file that has no header with pandas

header(컬럼명)이 없는 파일을 불러올 때는 header = None으로 지정해주고 이후 컬럼 명을 따로 생성해 주거나, 

처음 불러올 때부터 지정해주는 방법이 있다.

 

처음 불러올 때부터 컬럼명을 생성해 주려면 names = []로 하면 된다.

 

df = pd.read_csv("01. Data/friend_list_no_head.csv", header = None)
## create column name
df.columns = ['name','age','job']

df = pd.read_csv("01. Data/friend_list_no_head.csv", header = None, names = ['name','age','job'])

 


데이터

 

friend_list_no_head.csv
0.00MB
friend_list_tab.txt
0.00MB
friend_list.csv
0.00MB
friend_list.txt
0.00MB

 

 


 

전체 코드

 

###################################################
# 제목  : Pandas Tutorial
# 작성자 : SK C&C 이다경 선임
# 작성일 : 20200918
#
# Description
#
#   [SK C&C] Pandas Tutorial
#   Chapter2 : 파일에서 데이터 불러오기
###################################################

# 0. import pandas library

## pandas 설치 되었는지 확인
!conda list | grep pandas
# pandas                    0.20.3           py36hd6655d8_2

### (참고) 설치된 라이브러리 확인
!conda list
# packages in environment at /Users/apple/anaconda3:
#
# Name                    Version                   Build  Channel
# _anaconda_depends         5.0.1            py36h6e48e2d_1
# _ipyw_jlab_nb_ext_conf    0.1.0            py36h2fc01ae_0
# _tflow_select             2.3.0                       mkl
# absl-py                   0.1.10                   pypi_0    pypi
# alabaster                 0.7.10           py36h174008c_0
# anaconda                  custom           py36ha4fed55_0
# anaconda-client           1.6.5            py36h04cfe59_0
# anaconda-navigator        1.6.10           py36h62d491b_0
# anaconda-project          0.8.0            py36h99320b2_0
# appnope                   0.1.0            py36hf537a9a_0
# appscript                 1.0.1            py36h9e71e49_1
# asn1crypto                0.22.0           py36hb705621_1
# astor                     0.6.2                    pypi_0    pypi
# astroid                   1.5.3            py36h1333018_0
# astropy                   2.0.2            py36hf79c81d_4
# atari-py                  0.1.1                    pypi_0    pypi
# audioread                 2.1.5                    pypi_0    pypi
# audiosegment              0.9.0                    pypi_0    pypi
# babel                     2.5.0            py36h9f161ff_0
# backports                 1.0              py36ha3c1827_1
# ...

import pandas as pd

# 1. read csv file with pandas (쉼표로 구분되어 있는 파일)
df = pd.read_csv("01. Data/friend_list.csv")
df
#     name  age        job
# 0   John   20    student
# 1  Jenny   30  developer
# 2   Nate   30    teacher
# 3  Julia   40    dentist
# 4  Brian   45     managr
# 5  Chris   25     intern

df.head(3)
#     name  age        job
# 0   John   20    student
# 1  Jenny   30  developer
# 2   Nate   30    teacher

df.tail(2)
#     name  age     job
# 4  Brian   45  managr
# 5  Chris   25  intern


# 2. read txt file with padas (쉼표로 구분되어 있는 파일)
df = pd.read_csv("01. Data/friend_list.txt")

# 3. read txt file with padas (tab으로 구분되어 있는 파일)
df = pd.read_csv("01. Data/friend_list_tab.txt", delimiter = "\t")

# 4. read csv file that has no header with pandas
df = pd.read_csv("01. Data/friend_list_no_head.csv", header = None)

# 4_2. create column name
df.columns = ['name','age','job']

df = pd.read_csv("01. Data/friend_list_no_head.csv", header = None, names = ['name','age','job'])

 


출처

 

www.youtube.com/watch?v=diSZwmq5HA0&list=PLVNY1HnUlO25etNe08s1H1nIIbbZdJwxA&index=2

 

반응형