본문 바로가기
📌 Back End/└ Python

[Python] Xlwings로 DRM걸린 엑셀파일 자동화

by 쫄리_ 2023. 4. 23.
728x90
반응형

openpyxl가 아닌,  xlwings을 설치하면 된다.

import openpyxl
wb = openpyxl.load_workbook('파일명')
 
#sheet 열기
sheet = wb['sheet1'] 
 
#workbook 생성
wb = openpyxl.Workbook() # 기본 시트 생성됨 sheet1
sheet2 = wb.create_sheet('sheet2') #마지막에 추가
sheet3 = wb.create_sheet('sheet3', 1) #sheet1 자리에 삽입 하여 추가
 
#시트 이름 변경
sheet2.title = '업무자동화'
 
#저장
wb.save('./new_test_file.xlsx')
wb.close()

penpyxl 같은 경우 시트별로 불러와서 작업이 가능하지만,

애초에 회사 사내망 때문에 보안이 걸린 엑셀의 경우는 xlwings로만 불러 올 수 있었다.

 

저는 xlwings 대신에 pd.read_clipboard()를 사용하였습니다. 이게 참 훌륭한 기능이라는 걸 깨달았네요. 그냥 가져오고자 하는 데이터를 드래그해서 복사하시면 dataframe이 만들어집니다. 자동으로 행, 열도 생성되고 이거 아니었으면 자동화는 힘들었을거 같네요 .

그리고 이걸로 긁어와서 만든 파일의 경우 세션(?)이 끊기기 전까지는 csv로 불러서 읽을 수 있습니다! 다만 csv 파일을 열어서 수정을 하게 되면 다시 못 쓴다는 치명적인 단점이... 그래도 수작업을 할 시간에 코드로 자동화를 한다면 훨씬 더 편하니까 이렇게 삥삥 돌아서 갑니다. 

 

출처 : https://0goodmorning.tistory.com/71   /  https://maeng-gun.github.io/excel/excel1/

728x90
반응형