본문 바로가기
Python/Pandas

[파이썬 Pandas] 2. 파일 저장 및 열기

by Delants 2022. 8. 4.

# 본 내용은 " [나도코딩] - 파이썬 활용편(5) 데이터분석 및 시각화 " 강의를 듣고, 복습하고 공부한 내용을 다루었습니다.

 

오늘 포스팅할 내용은 다음과 같습니다.

 

Pandas #2. 파일 저장 및 열기

04. 파일저장 및 열기

 

=> 주피터 노트북에서 파일을 저장하고, 여는 법에 대해 학습합니다.


04. 파일 저장 및 열기

4-1. csv파일 저장

앞서 만들었던 데이터 프레임을 저장하고 싶을때는 어떻게 해야할까요?

데이터 프레임은 다음과 같습니다. (해당 데이터 프레임의 이름은 df)

위 데이터를 csv파일로 저장하고 싶을때는 to_csv명령어를 사용합니다.

예를들어, student.csv라는 파일로 저장하고자 한다면,

df.to_csv('student.csv', encoding='utf-8-sig')

로 작성할 수 있겠네요.

여기서 utf-8-sig인자를 사용한 이유는 엑셀에서 한글을 정상적으로 표출하기 위해서입니다. 해당 인자를 사용하지 않으면 한글이 깨져 보일 수 있습니다.

 

만약, 인덱스를 제외하고 저장하고자 한다면,

df.to_csv('student.csv, encoding='utf-8-sig', index=False)

를 사용해서 저장할 수 있습니다.

 

4-2. 텍스트 파일로 저장

텍스트 파일 역시 csv파일과 비슷하게 쓸 수 있습니다.

하지만 txt파일은 메모장으로 열었을 때 한글이 정상적으로 표출되므로 utf-8코드를 쓸 필요는 없으나

구분자를 적는 인자(sep)는 적어주어야 합니다.

다음 코드를 보겠습니다.

df.to_csv('student.txt', sep='\t') # 탭으로 구분된 텍스트파일 저장

위 코드에서는 sep='\t'를 사용하여 구분자로 탭으로 구분된 텍스트파일로 저장하였습니다.

 

4-3. 엑셀파일로 저장

엑셀파일로 저장하고자 한다면 to_excel()함수를 사용할 수 있습니다.

df.to_excel('student.xlsx')

이렇게 적으면 엑셀파일로 저장할 수 있으며, 확장자명은 .excel이 아닌 .xlsx라는 점에서 주의해 주시기 바랍니다.

 

4-4. csv파일 열기

파일 열기는 자주 쓰이는 구문이므로 숙지해 두는 것이 좋습니다.

먼저 read_csv()를 사용해 csv파일을 열어보겠습니다.

df = pd.read_csv('student.csv')
df


# 사용가능한 인자

1) skiprows: 지정된 개수만큼의 행을 건너띄고 불러온다.
=> skiprow=1을 하면 맨 위에서부터 1개의 행을 건너띄고 불러와진다.
=> 응용버전으로 skiprows=[1,3]을 하여 두번째, 네번째 행을 건너띄고 불러오기할 수도 있다.

df = pd.read_csv('student.csv', skiprows=1)의 결과


2) nrows: 지정된 개수만큼의 행을 가져온다.
=> nrow=4일 경우, 위에서부터 4개의 데이터를 가져올 수 있다.


3) skiprows와 nrows를 혼합해서 사용할 수도 있다.
=> df = pd.read_csv('score.csv', skiprows=1, nrows=2) 인 경우, 처음 첫 행은 무시하고, 이후에 오는 2개 행을 가져옴

 

4-5. 텍스트파일 열기

텍스트 파일 열기 역시 read_csv()함수를 사용합니다. 다만 확장자명은 .txt를 사용하여 텍스트 파일을 열 수 있습니다.

그러면 read_csv를 활용해 파일을 열어보도록 하겠습니다.

df = pd.read_csv('student.txt', sep='\t') #탭으로 구분된 텍스트파일 불러오기
df

# 사용가능한 인자

1) index_col: 파일을 열 때 인덱스 칼럼을 지정할 수 있습니다.
=> index_col='지원번호'일 경우, 지원번호가 인덱스가 된 상태로 불러올 수 있습니다.
df = pd.read_csv('student.txt', sep='\t', index_col='지원번호')

 

4-6. 엑셀파일 열기

엑셀파일을 열 경우, read_excel()함수를 사용하여 열 수 있습니다.

이 경우 확장자명은 .xlsx인 점에 주의합니다.

df=pd.read_excel('student.xlsx')
df

read_excel()역시 index_col인자를 사용하여 칼럼을 인덱스화 시켜서 파일을 열 수 있습니다.
위 표에서 '지원번호' 칼럼을 인덱스화 시키고자 한다면, index_col='지원번호' 인지를 추가할 수 있겠습니다.
df=pd.read_excel('student.xlsx', index_col='지원번호')

 


오늘은 파일 관리 (저장 및 열기)에 대해 살펴보았습니다.

간단한 내용이지만 사용할 수 있는 인자가 생각보다 많았네요. 그리고 다양한 파일들을 코드 한 문장으로 열 수 있어서 알아두면 매우 편리할 것 같다는 생각이 들었습니다.

그리고 csv파일로 저장할때는 utf-8을 사용해서 한글이 깨지지 않게 한다는 점, 잘 명심하겠습니다.

 

다음 학습 내용 (Pandas #3)
05. 데이터 확인

 

감사합니다.

 

 

 

댓글