본문 바로가기

카테고리 없음

[파이썬 엑셀 자동화] 파이썬 xlwings로 엑셀 다루기: 엑셀 통합문서, 시트, 셀 연결하기

파이썬을 배우고 단순 반복 업무는 컴퓨터에게 맡기세요.  오늘은 엑셀 업무를 자동화하기 위해서 파이썬에서 엑셀을 다루는 방법을 알아보는 첫 시간입니다.

 

아나콘다(Anaconda3)가 설치되어있어야 아래 코드를 따라 하실 수 있습니다. (설치방법)

- 또는 xlwings 라이브러리를 별도로 설치하시면 됩니다.

xlwings

파이썬에는 xlwings, openpyxl, xlsxwriter 등 여러가지 파이썬 엑셀 라이브러리가 있습니다. 그중에 xlwings를 사용하여 파이썬으로 엑셀을 다루어 보겠습니다. xlwings를 사용하기 위해서는 엑셀이 설치되어있어야 합니다.

 

라이브러리 불러오기

xlwings 라이브러리를 불러옵니다. 앞으로 xw라는 축약어로 사용하겠습니다.

import xlwings as xw

 

통합 문서 연결하기

Book() 메서드를 사용하여 새 통합 문서를 생성하거나, 기존 통합문서를 연결할 수 있습니다. 기존 통합문서를 불러오기 위해서는 파일 경로를 매개변수로 입력해야 합니다.

# 새 통합문서 만들기
wb = xw.Book()
# 기존 통합문서 불러오기
wb = xw.Book("C:\\Users\\Desktop\\xlwings\\TestBook.xlsx")

 

xw.Book() 메서드를 사용하여 통합 문서를 새로 만들었습니다.

 

 

시트 연결하기

# 첫번째 시트를 sht1이라는 이름의 변수에 저장합니다.
sht1 = wb.sheets[0]

이제부터 첫 번째 시트를 sht1이라는 변수를 사용해서 이용할 수 있습니다. 

 

 

셀 연결하기

1) 한 개의 셀 다루기

sht1.range('A1').value = 'Hello World'
sht1.range('A1').value 
# >>> 'Hello World'

 

2) 복수의 셀 다루기

sht1.range('A3:D4').value = 11

 

3) 수식 입력하기

sht1.range('F3').formula = '=SUM(A3:D3)'

 

 

앞의 과정에서 입력한 코드들이 엑셀에 입력된 것을 볼 수 있습니다.

 

✔ 매우 간단한 코드들이지만 경우에 따라서는 강력한 업무 자동화 도구가 될 수 있습니다.

예를 들어 하나의 엑셀 서식에 팀 이름만 바꿔서 작성해야 하는 일이 있다고 생각해봅시다. 이 일을 엑셀로 해야 한다면 팀 개수만큼 엑셀 파일을 10번이고 20번이고 다른 이름으로 저장을 해야 합니다. 하지만 파이썬으로 한다면 반복문과 xlwings의 조합으로 순식간에 끝낼 수 있습니다.

 

 

4) 셀 값 지우기

sht1.range('A1:F4').clear()

값이 입력되어있던 모든 셀을 지웠습니다. 다시 빈 시트가 된 것을 확인할 수 있습니다.

 

 

 

-이 글은 아나콘다(Anaconda3)가 설치된 환경을 기준으로 작성되었습니다.