[Pandas] 데이터프레임 엑셀(xlsx) 저장, 불러오기

반응형
반응형

파이썬으로 만든 데이터프레임을 엑셀 저장하고 불러오는 방법을 소개하겠습니다.
한 시트에 저장하는 방법이 있고 여러 시트에 저장하는 방법이 있습니다. 

사실상 여러 시트에 저장하는 방식으로 모든 것을 할 수 있지만 코딩은 최대한 적게 쓰고 많은 일을 하는 것이 좋으므로 

너무 간단해서 허무할 수도 있지만 한 시트에 저장하는 방법을 따로 떼서 알려드리겠습니다. 

 

 

한 시트에 엑셀 저장하기

df = pd.DataFrame({'alpha' : ['a','b','c','d','e'],'beta':['A','B','C','D','E']})

다음과 같은 데이터 프레임을 엑셀로 저장하는 건 간단합니다. to_excel() 메쏘드를 사용하면 됩니다.

df.to_excel('경로'/'파일이름.xlsx')

엑셀로 저장이 되었습니다. 인덱스를 없애고 싶다면 index=False를 붙여줍니다.

df.to_excel('경로'/'파일이름.xlsx',index=False)

 

여러 시트로 엑셀 저장하기

여러 시트로 저장하기 위해 단순하게 to_excel() 메쏘드를 쓰면 되지가 않습니다. 무조건 맨 마지막에 명령한 것으로 덮어씌게 되어 있습니다. 여러 시트로 저장하기 위해서는 with pd.ExcelWriter() 를 씁니다.

df 의 첫번째 행과 두번째 행을 각각 다른 시트로 저장해 보겠습니다.

파일이름을 test.xlsx로 하겠습니다.

with pd.ExcelWriter('test.xlsx') as writer:
    df[df.alpha == 'a'].to_excel(writer, sheet_name='a')
    df[df.alpha == 'b'].to_excel(writer, sheet_name='b')

 

위와 같이 시트 a 와 b에 저장이 됩니다.  

 

 

엑셀 파일 불러오기

이번엔 엑셀 파일을 불러오겠습니다. test.xlsx를 불러오겠습니다. 

'test.xlsx' 자리에 파일경로를 입력하면 됩니다.

저는 실행하고 있는 쥬피터 파일과 같은 폴더에 저장을 해서 파일이름만 입력을 했습니다. 

x = pd.read_excel('test.xlsx')

 

인덱스를 제거하지 않고 저장해서 Unnamed:0 이 생겼네요 ㅜ 

아무튼 일단 봐야 할것은 따로 시트를 지정하지 않으면 첫번째 시트의 내용만 불러들이게 되는데

첫번째 시트가 디폴트 값이라서 그렇습니다.

원하는 시트를 불러오려면 다음과 같이 합니다.

x = pd.read_excel('test.xlsx',sheet_name='b')

파일경로만 잘 알고 있다면 불러오는 것은 어렵지 않습니다.

파일이름 목록 가져오는 방법은 예전에 포스팅을 해놨습니다.

궁금하시면 참고하시기 바랍니다.

 

 

관련 포스팅

[Python/기초] - [Python]폴더 안에 파일 이름 목록 가져오기

[Python/Pandas] - [Pandas]DataFrame column 추가,삭제,순서변경

[Python/Pandas] - [Pandas] DataFrame 살펴보기(생성,데이터파악)

데이터목장님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY