안녕하세요~ 꽁냥이에요!!
이번 포스팅에서는 판다스(Pandas)에서 csv파일을 불러오고 저장하는 방법에 대해서 알아보겠습니다.
방법은 저번 포스팅에서 텍스트(txt) 파일을 불러오고 저장했던 방법과 동일합니다.
2. Pandas에서 데이터프레임(DataFrame)을 csv 파일로 저장하기
1. Pandas에서 csv 파일 읽기(불러오기)
여기서는 csv 파일 안에 헤더(칼럼)가 있는 경우와 없는 경우에 대해서 나눠서 설명하겠습니다.
먼저 헤더가 있는 경우에 대해서 살펴보겠습니다. 꽁냥이는 다음과 같은 텍스트 파일을 불러오려고 합니다.
번호,이름,성별,비고
1,아이린,여자,존예
2,박보검,남자,존잘
3,유민상,남자,재미있음
4,꽁냥이,남자,착함
위의 csv가 저장되어 있는 파일 이름을 data.csv라고 하겠습니다.
혹시 필요하신 분은 아래에 첨부할 테니 다운로드하여주세요.
이제 데이터를 불러보겠습니다. 아래 코드를 간단히 살펴볼게요.
## with header
import pandas as pd
df = pd.read_csv('./data.csv') ## 경로는 각자 상황에 맞게 넣어주세요
line 4
판다스(Pandas)는 read_csv 함수를 이용하여 csv 파일을 불러올 수 있습니다. 이때 파일의 경로를 인자로 넣어줍니다.
코드를 실행하면 df라는 변수에 아래와 같이 데이터가 잘 들어가 있는 것을 알 수 있습니다.
다음은 아래 사진과 같이 헤더가 없는 경우 즉, 칼럼명이 없는 경우에 csv파일을 읽어오는 방법을 알아보겠습니다.
헤더가 없는 경우에는 read_csv 함수에서 header 인자에 None을 넣어주고, names를 이용하여 칼럼 이름을 지정해줘야 합니다. 아래 코드를 살펴보겠습니다.
## with no header
import pandas as pd
## 경로는 각자 상황에 맞게 넣어주세요
df = pd.read_csv('./data_no_header.csv',header=None,names=['번호','이름','성별','비고'])
line 4
파일 경로를 입력하는 것은 앞서 본 것과 동일하고요. 여기서 header에 None을 넣어주고 names에 칼럼 이름이 담긴 리스트를 넣어주었습니다.
위 코드를 실행하고 df 변수에 앞서 본 것과 동일한 데이터가 담겨있는 것을 알 수 있습니다.
2. Pandas에서 데이터프레임(DataFrame)을 csv 파일로 저장하기
데이터 프래임을 csv파일로 저장하고자 한다면 to_csv 함수를 이용해야 합니다. 코드를 보겠습니다.
import pandas as pd
## 데이터 생성
data = {
'번호':[1,2,3,4],
'이름':['아이린','박보검','유민상','꽁냥이'],
'성별':['여자','남자','남자','남자'],
'비고':['존예','존잘','재미있음','착함']
}
df = pd.DataFrame(data) ## 데이터프래임 생성
df.to_csv('test.csv',index=False) ## 구분자를 탭으로 하여 저장. 인덱스칼럼은 저장 안함.
line 3~9
딕셔너리를 이용하여 앞서 보았던 데이터를 생성해줍니다. 데이터 프래임을 생성하는 방법에 대해서는 여기를 참고하세요.
line 10
먼저 저장할 경로와 파일 이름을 정하셔야 해요. 꽁냥이는 현재 디렉터리에 text.csv라는 이름으로 저장할 거예요. 그리고 index인자에는 False를 넣어줘서 인덱스 칼럼은 저장되지 않도록 합니다.
위 코드를 실행하고 text.csv를 열어보면 아래와 같이 나올 거예요.
이번 포스팅에서는 csv 파일을 읽는 방법과 데이터를 csv 파일로 저장하는 방법에 대해서 알아보았습니다. 궁금한 점, 잘못된 점, 하고 싶은 말은 댓글로 남겨주세요.
지금까지 꽁냥이의 글 읽어주셔서 감사합니다.~
'데이터 분석 > 데이터 전처리' 카테고리의 다른 글
[Pandas] 6. 특정 문자를 포함하는/특정 문자와 일치하는 행 추출하기 (10) | 2020.09.06 |
---|---|
[Pandas] 5. 데이터프래임(DataFrame) 모든 행, 모든 열 출력하기 (4) | 2020.08.31 |
[Pandas] 4. 필요한 열(Column) 추출하기 (4) | 2020.08.26 |
[Pandas] 2. 텍스트 파일(.txt) 불러오기/저장하기 (5) | 2020.08.12 |
[Pandas] 1. DataFrame 생성하기 (0) | 2020.07.30 |
댓글