본문 바로가기
Programming/Pandas

판다스 데이터프레임을 파일로 저장

by 느리게 걷는 즐거움 2024. 5. 23.
반응형

판다스 데이터프레임을 파일로 저장

판다스 데이터프레임을 파일로 저장하는 방법을 정리합니다. 판다스 라이브러리는 다양한 파일형태의 데이터를 읽고 쓸 수 있습니다. 자주사용하는 파일형태에 대해서 정리합니다.

CSV

데이터프레임을 파일로 저장 시 'to_csv'함수를 사용하고 파일에서 읽을 때 'read_csv'함수를 사용한다. 'index_col'인자를 이용하여 index로 정할 colume index를 전달한다.

import pandas as pd

# Write to the CSV file
df = pd.DataFrame({'name' : ["abc", "def"],
                   'age' : [10, 20]})
display(df)
df.to_csv('./person_info.csv', mode='w')

# Read from the CSV file
df_read = pd.read_csv('./person_info.csv', index_col = 0)
display(df_read)

--------------------------------------

name	age
0	abc	10
1	def	20

name	age
0	abc	10
1	def	20

Excel

데이터프레임을 파일로 저장 시 'to_excel'함수를 사용하고 파일에서 읽을 때 'read_excel'함수를 사용한다. excel파일로 저장 시 index=False를 설정하면 dataframe의 index는 저장되지 않고 excel의 index를 사용하여 저장됩니다.

import pandas as pd

# Write to the Excel file
df = pd.DataFrame({'name' : ["abc", "def"],
                   'age' : [10, 20]})
display(df)
df.to_excel('./person.xlsx', sheet_name="class 1", index=False)

# Read from the Excel file
df_read = pd.read_excel('./person.xlsx')
display(df_read)

--------------------------------------

name	age
0	abc	10
1	def	20

name	age
0	abc	10
1	def	20

인코딩 설정 (한글깨짐방지)

데이터프레임을 csv파일로 저장 시 'to_csv'함수를 사용하고 파일에서 읽을 때 한글이 깨져있는 경우가 있습니다. 테스트를 위해서 컬럼이름을 한글로 변경해서 csv파일로 저장합니다. 저장된 csv파일을 열어보면 한글로 설정된 컬럼이름이 아래와 같이 깨져있습니다.

import pandas as pd

# Write to the CSV file
df = pd.DataFrame({'이름' : ["abc", "def"],
                   '나이' : [10, 20]})
display(df)
df.to_csv('./person.csv', index=False)

# Read from the CSV file
df_read = pd.read_csv('./person.csv')
display(df_read)

이 경우 파일을 쓰고 읽을 때 한글 표시를 위한 encoding format을 설정해서 사용합니다. 아래의 코드에서는 csv파일을 쓰고 읽을 때 'encoding' 정보를 'CP949'로 전달하여 저장된 파일을 열어볼 때에도 한글이 정상적으로 출력됩니다.

df.to_csv('./person.csv',  encoding='CP949', index=False)
df_read = pd.read_csv('./person.csv', encoding='CP949')

 

 

반응형