[Pandas] 데이터프레임 엑셀(xlsx) 저장, 불러오기
- Python/Pandas
- 2021. 4. 17.
파이썬으로 만든 데이터프레임을 엑셀 저장하고 불러오는 방법을 소개하겠습니다.
한 시트에 저장하는 방법이 있고 여러 시트에 저장하는 방법이 있습니다.
사실상 여러 시트에 저장하는 방식으로 모든 것을 할 수 있지만 코딩은 최대한 적게 쓰고 많은 일을 하는 것이 좋으므로
너무 간단해서 허무할 수도 있지만 한 시트에 저장하는 방법을 따로 떼서 알려드리겠습니다.
한 시트에 엑셀 저장하기
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] 같은 범주로 묶기(groupby) (0) | 2021.05.06 |
---|---|
[Pandas] 시간데이터 만들기(date_range) (0) | 2021.05.03 |
[Pandas] 원하는 값으로 필터링 (0) | 2021.04.11 |
[Pandas]데이터프레임 순회하기 (0) | 2021.04.10 |
[Pandas] DataFrame을 딕셔너리로 변환 (0) | 2021.04.04 |