회사에서 파이썬을 이용해서 엑셀 문서를 데이터프레임으로 불러와서
업무 자동화를 하기 위한 함수를 작성할 때가 있습니다.
매크로를 사용하기에는 엑셀 파일이 무거워져서 느려지는 경우에 파이썬을 활용하면
손쉽고 빠르게 할 수 있는 장점이 있죠.
하지만 DRM 보안 프로그램이 깔려 있는 경우,
.xlsx, .csv, .txt 확장자를 가진 대부분의 문서 파일이 암호화가 걸리기 때문에
판다스 데이터프레임으로 바로 읽어오지 못하는 문제가 발생합니다.
이를 해결할 수 있는 파이썬 라이브러리가 바로 xlwings인데요.
엑셀 파일을 실행해서 화면에 보이는 데이터를 그대로 가져오는 방식이라서
암호화가 되어있는 엑셀 파일도 불러올 수 있다고 합니다.
import xlwings as xw
import pandas as pd
# DRM 보안 걸린 엑셀을 실행
excel_nm = '20240927_dayily_report.xlsx'
book = xw.Book(excel_nm)
# 시트에 있는 데이터 읽어오기
df_sheet_1 = book.sheets(1).used_range.options(pd.DataFrame)
# 피봇테이블 만들기
df_sheet_1_pivot = pd.pivot_table(df_sheet_1, index=['genre_gubn'], columns=['base_date']
, values='buy_amt2', aggfunc='sum')
# , margins=True, margins_name="총계")
# 시트에 값 붙여넣기
book.sheets(1)['G1'].value = df_sheet_1_pivot
'회고,리뷰 > 회고,리뷰,정보공유' 카테고리의 다른 글
[24년 12월 회고] 대시보드 지표 기준에 대한 고민 (4) | 2024.12.05 |
---|---|
[24년 2월 1째주 회고] 기준일이 다른 데이터들의 datediff 구할 때 유의할 점 (0) | 2024.02.14 |