[Python pandas] DataFrame을 엑셀 파일로 저장하기

hwwwa·2022년 1월 26일
0

🐼 Python

목록 보기
13/18

to_excel()

  • DataFrame 형태의 데이터를 엑셀 파일로 저장하기 위해 to_excel() 사용 가능
  • to_excel(excel_writer, sheet_name, na_rep, float_format, columns, header, index, inf_rep, freeze_panes)
    • excel_writer: 파일이 저장될 경로. 파일명만 지정 시 현재 워킹 디렉토리 안에 저장됨.
    • sheet_name: 시트 이름. default = ‘Sheet1’
    • na_rep: 결측치 표현 방법. default = ‘’
    • float_format: 부동소수점 표현
    • columns: 컬럼 이름 설정. string list
    • header: 헤더 포함 여부. default = True
    • index: 인덱스(행 이름) 포함 여부. default = True
    • inf_rep: inf 표현 방법
    • freeze_panes: 고정틀 설정(행, 열)
import pandas as pd

df = pd.DataFrame(
	{
		'a': ['A', 'B', 'C'],
		'b': [111, 222, 333]
	}
)

df.to_excel('sample.xlsx', index=False)
  • 지정 경로에 파일이 없는 경우 파일을 새로 만들지만, 파일이 존재하는 경우에는 덮어쓰기 됨
  • to_excel()을 이용해서는 하나의 시트로만 저장 가능. 여러 시트 저장 불가능

ExcelWriter

  • 여러 시트를 작성하고 싶은 경우 ExcelWriter 사용
with pd.ExcelWriter('sample.xlsx') as writer:
	df[df.a == 'A'].to_excel(writer, sheet_name='A')
	df[df.a == 'B'].to_excel(writer, sheet_name='B')
	df[df.a == 'C'].to_excel(writer, sheet_name='C')
  • 위 코드를 더 간결하게 바꿀 수 있음
with pd.ExcelWriter('sample.xlsx') as writer:
	for a in df.a:
		df[df.a == f"{a}"].to_excel(writer, sheet_name=f"{a}")

0개의 댓글