Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python openpyxl로 엑셀 파일 산술 연산 자동화하기

개요

Python을 사용하면 파이썬 환경에서 직접 엑셀 파일을 다룰 수 있습니다. 엑셀의 각 셀이나 특정 범위의 셀을 참조하여 산술 연산자를 적용할 수 있으며, 연산 결과 역시 파이썬 코드에서 지정한 위치의 셀에 저장할 수 있습니다. 이를 통해 반복적인 데이터 계산 작업을 손쉽게 자동화할 수 있습니다.

아래 예제에서는 엑셀의 내장 함수를 활용해 다양한 산술 연산을 수행합니다. 셀에 입력된 숫자들의 합계(SUM), 평균(AVERAGE), 곱(PRODUCT), 개수(COUNT)를 계산하고 그 결과를 지정된 셀에 저장합니다. openpyxl 모듈을 사용해 워크북을 생성하고 활성 시트를 가져온 뒤, 미리 정의된 셀에 값을 입력하고 해당 셀 범위에 함수를 적용하여 결과를 다른 셀에 기록하는 방식으로 진행됩니다.

참고: openpyxl이 설치되어 있지 않다면 터미널에서 pip install openpyxl 명령어로 먼저 설치해야 합니다.

예제 코드

import openpyxl

excel = openpyxl.Workbook()

excel_file = excel.active

# 첫 번째 행에 값 입력
excel_file['A1'] = 50
excel_file['B1'] = 100
excel_file['C1'] = 150
excel_file['D1'] = 200
excel_file['E1'] = 250

# 세 번째 행에 값 입력
excel_file['A3'] = 20
excel_file['B3'] = 40
excel_file['C3'] = 60
excel_file['D3'] = 80
excel_file['E3'] = 100

# 다섯 번째 행에 값 입력
excel_file['A5'] = 2
excel_file['B5'] = 4
excel_file['C5'] = 6
excel_file['D5'] = 9
excel_file['E5'] = 15

# 일곱 번째 행에 값 입력
excel_file['A7'] = 4
excel_file['B7'] = 11
excel_file['C7'] = 27
excel_file['D7'] = 40
excel_file['E7'] = 75

# F열에는 설명, G열에는 엑셀 수식 입력
excel_file['F1'] = 'Sum(A1 to E1)'
excel_file['G1'] = '= SUM(A1:E1)'
excel_file['F3'] = 'Sum(A3 to E3)'
excel_file['G3'] = '= AVERAGE(A3:E3)'
excel_file['F5'] = 'Product(A5 to E5)'
excel_file['G5'] = '= PRODUCT(A5:E5)'
excel_file['F7'] = 'Count(A7 to E7)'
excel_file['G7'] = '= COUNT(A7:E7)'

# 파일 저장
excel.save("D:\\Arithmetic_operations.xlsx")

사용된 주요 엑셀 함수

  • SUM: 지정된 범위 내 모든 숫자의 합계를 계산합니다.
  • AVERAGE: 지정된 범위 내 숫자들의 산술 평균을 구합니다.
  • PRODUCT: 지정된 범위 내 모든 숫자의 곱을 계산합니다.
  • COUNT: 지정된 범위 내 숫자가 포함된 셀의 개수를 셉니다.

출력 결과

위 코드를 실행하면 D 드라이브에 Arithmetic_operations.xlsx 파일이 생성되며, 파일을 열면 다음과 같은 결과를 확인할 수 있습니다.

Python openpyxl로 엑셀 파일 산술 연산 자동화하기

G열에 입력된 수식은 엑셀 파일을 열 때 자동으로 계산되어 표시됩니다. 이처럼 openpyxl을 활용하면 대량의 데이터에 대한 반복 계산을 파이썬 스크립트 하나로 처리할 수 있어 업무 효율을 크게 높일 수 있습니다.