공학속으로/python

[python] 판다스 데이터프레임 저장하기

더월드 2022. 12. 7.

1. pandas 데이터프레임을 CSV 파일로 저장하기

데이터 프레임 뒤에 또는 .to_csv()를 붙이면 됩니다.

데이터를 다시 읽어올 때는 pandas라이브러리의 read_csv 함수를 이용하면 됩니다.

import pandas as pd

# CSV파일로 저장하기
df.to_csv("test1.csv")

# CSV파일 읽기
df = pd.read_csv("test1.csv")

 

기본적인 사용법

기본적으로 path_or_buf에 파일 이름(경로포함)의 경로에 df가  csv파일로 저장됩니다.
df.to_csv('test1.csv')

#sep 인수

sep 인수는 csv파일의 구분자를 설정해 줍니다. (default ',')
df.to_csv('test1.csv', sep='-')

#float_format 인수

float_format인수는 부동소수점 형식 데이터의 출력 포맷을 설정할 수 있습니다.
df.to_csv('test1.csv', float_format='%.2f')
설명) 소수점 두번째 자리까지 표시함.

#columns인수

columns인수는 출력할 대상 열을 지정하는 인수입니다. (default는 모든 열)
df.to_csv('test1.csv', columns=[0])
설명) 0열만 csv로 변환된것을 확인할 수 있습니다.

#header 인수

header인수는 열의 이름을 지정하는 인수입니다.
df.to_csv('test1.csv', header=['col1','col2'])
설명) 열 0, 1 이 col1, col2로 변경되었습니다.

#index 인수

index인수는 인덱스의 출력 여부를 지정할 수 있습니다.(default는 True)
df.to_csv('test1.csv', index=False) 
설명) True 인덱스 출력, False로 인덱스 출력X

 

#index_label 인수

index_lable은 출력되는 csv파일의 인덱스명을 지정하는 인수 입니다.
df.to_csv('test1.csv', index_label=['index'])
※인덱스는 맨위에 인덱스명이 지정되었습니다.

#quoting / quotechar 인수

quoting {0 : MINIMAL 문자와 특수문자 / 1 : ALL 모든필드 / 2 : NONNUMERIC 숫자가 아닌것 / 3 : NONE 안함}
quoting이 아닌경우 quotechar 으로 인용구를 표현할 문자를 지정하여 인용구 설정이 적용된 csv파일의 출력이 가능합니다.

df.to_csv('test1.csv',quoting=2)

설명) 숫자가 아닌경우 인용구 (" ")처리가 됩니다.

df.to_csv('test1.csv',quoting=2,quotechar="~")

quotechar='~' 하여 인용구처리를 '""' 가 아닌 '~' 으로 지정해보겠습니다.
df.to_csv(path_or_buf=address+'test12.csv',quoting=2,quotechar="~")

 

2. pandas 데이터프레임을 엑셀 파일로 저장하기

CSV 파일로 저장하는 방법과 유사합니다.

저장할 때는 데이터 프레임 뒤에 .to_excel(),

불러올 때는 read_excel()을 이용하면 됩니다.

엑셀에 시트는 sheetname 파라미터를 사용해서 원하는 sheet를 불러오면됩니다.

import pandas as pd

# 엑셀로 저장하기
df.to_excel("test1.xlsx")

# 엑셀파일 읽기
df = pd.read_excel("test1.xlsx")

 

3. pandas 데이터프레임을 pickle로 저장하기

피클은 파이썬의 모든 객체를 파일로 저장할 수 있는 방법입니다.

pandas 데이터프레임을 저장할 때는 to_pickle(),

불러올 때는 read_pickle() 함수를 사용합니다.

import pandas as pd

# 피클 파일로 저장하기
df.to_pickle("df.pkl")

# 피클 파일 읽기
df = pd.read_pickle("df.pkl")

 

4. pandas 데이터프레임을 SQLite3 DB로 저장하기

connect 함수를 이용하여 DB에 접속한다.

pandas 데이터프레임을 DB로 저장할 때는 to_sql(),

불러올 때는 read_sql() 함수를 사용합니다.

 

import sqlite3

# SQLite3 DB로 저장하기
con = sqlite3.connect("test1.db")
df.to_sql("table_name", con, if_exists="append", index=False)
con.close()

# SQLite3 DB 불러오기
con = sqlite3.connect("test1.db")
df = pd.read_sql("SELECT * FROM table_name", con)
con.close()

 

5. pandas 데이터프레임을 html로 저장하기

pandas 데이터프레임을 html으로 저장하는 방법도 있습니다.

to_html()을 이용하면 데이터프레임을 html table태그로 변환해 줍니다. 

to_html('html 파일명')은 데이터프레임을 html파일로 저장하는 함수입니다.

import pandas as pd

# 데이터프레임을 html표로 바꾸기
df.to_html()

# 데이터프레임을 html 파일로 저장하기
df.to_html("test1.html")

댓글

💲 추천 글