안녕하세요 독학코딩입니다. 오늘은 파이썬으로 엑셀 파일을 다루는 방법에 대해서 배워보겠습니다. 기본적으로 pandas
와 openpyxl
패키가 필요합니다. 패키지를 import 하는 방법에 대해서 모르시면 아래 링크를 참고해주세요.
이미 잘 아시겠지만 파이썬에서 패키지를 이용하기 위해서는 import
를 해야합니다. import pandas as pd
를 코드 제일 위에 작성해주시기 바랍니다. openpyxl
를 import
하실 필요는 없습니다. openpyxl
는 pandas
에서 이용하는 패키지입니다. install만 되어있으면 됩니다.
코드 제일 위에 작성하는 이유는 import는 작성한 위치 아래부터 적용되기 때문입니다. 무조건 위일 필요는 없지만 보통은 제일 위에 작성합니다. 또 as pd는 무조건 작성하셔야 하는 부분이 아니라 pandas를 매번 작성하는 게 귀찮으니 as pd, 'pd 처럼'이라고 작성하여 pandas를 pd처럼 사용하겠다는 의미입니다.
Python 엑셀 파일 읽어오기
원하시는 아무 엑셀 파일을 이용하셔도 되지만 예제를 똑같이 따라오고 싶으시다면 아래 파일을 다운받아주시기 바랍니다.
df = pd.read_excel("C:/통합 문서1.xlsx")
print(df)
엑셀 파일 자체를 읽어 오는건 간단합니다. 위와 같이 df = pd.read_excel()
의 괄호 안에 엑셀 파일의 경로만 정확히 작성해주시면 쉽게 읽어올 수 있습니다. 엑셀을 읽어 오는 거 보다는 다루는 게 더 중요합니다. (df
는 dataframe의 준말입니다.)
읽어온 엑셀 파일을 다루는 법은 아래 링크를 확인해주시기 바랍니다. pandas
로 Series 생성하는 부분이 엑셀을 읽어오는 것과 같은 거라 생각하시고 그 다음부터 보시면 됩니다.
Python 엑셀 파일 저장하기
엑셀 파일을 저장하는 방법은 3가지 알려드리겠습니다.
df.to_excel('C:/새로운 문서1.xlsx')
가장 간단하게 엑셀을 저장하는 방법입니다. 여기서 df는 위 엑셀 파일 읽어오기에서의 df가 맞지만, pandas
로 생성한 모든 dataframe이면 엑셀로 저장가능합니다.
df.to_excel('C:/새로운 문서2.xlsx', index=False)
바로 위 엑셀 저장과 동일하지만 끝에 , index=False
를 더해서 저장된 엑셀 파일에 데이터 인덱스를 제거하는 방식입니다.
with pd.ExcelWriter('C:/여러 시트 문서1.xlsx') as writer:
df[df.이름 == '홍길동'].to_excel(writer, sheet_name='엑셀시트 1')
df[df.이름 == '김아무개'].to_excel(writer, sheet_name='엑셀시트 2')
df[df.이름 == '김둘리'].to_excel(writer, sheet_name='엑셀시트 3')
아마 자주 사용되지는 않지만 알고 있다면 대용량의 dataframe을 엑셀로 이쁘게 나누기 좋은 방법입니다. 여기서 df.이름
의 이름은 dataframe의 column입니다. 즉 df.column
인 것입니다. 물론 아래와 같이도 사용 가능합니다.
with pd.ExcelWriter('C:/여러 시트 문서2.xlsx') as writer:
df.to_excel(writer, sheet_name='엑셀시트 1')
df.to_excel(writer, sheet_name='엑셀시트 2')
df.to_excel(writer, sheet_name='엑셀시트 3')
'Python > Python 패키지' 카테고리의 다른 글
Python time, 파이썬 시간 다루기 (0) | 2022.03.19 |
---|---|
Python 파이썬 랜덤 숫자, 랜덤 문자, random() 다루기 (0) | 2022.01.05 |
Python 파이썬 Math 올림, 내림, 반올림 (0) | 2021.12.10 |
Python 파이썬 datetime 기초 (0) | 2021.12.06 |
Python 파이썬 pandas 기초 (0) | 2021.12.03 |
댓글