본문 바로가기

카테고리 없음

파이썬 openpyxl로 엑셀 다루기: 기본 사용법 #엑셀 자동화 첫걸음

엑셀은 어떠한 배경지식이 없어도 손쉽게 데이터를 관리할 수 있는 매우 직관적인 프로그램입니다. 약간의 파이썬 코드로 이런 훌륭한 프로그램을 다룰 수 있습니다. 이미 잘 개발된 라이브러리가 있으니까요. 이번 포스팅에서는 openpyxl 라이브러리로 엑셀을 다루는 가장 기본적인 방법들에 대해서 소개하겠습니다.

 

엑셀 용어 설명 

본격적으로 파이썬 코드를 작성하기 전에, 앞으로 계속 사용될 엑셀에 관련된 몇 가지 용어를 알아보겠습니다.

 

용어 설명
workbook (워크북) 엑셀 파일(통합 문서)을 의미합니다.
sheet (시트) 엑셀 파일 내 컨텐츠를 분할하는 데 사용되며, 여러개의 시트가 있을 수 있습니다.
cell (셀) 엑셀에서 가장 작은 단위로, 열을 나타내는 문자와 행을 나타내는 숫자의 조합으로 표시합니다. (A1)

 

워크북(엑셀 파일) 읽기 

# 라이브러리를 불러옵니다.
import openpyxl

# 현재 스크립트와 같은 폴더에 위치한 엑셀 파일을 읽어옵니다.
wb = openpyxl.load_workbook('sample.xlsx')

# 엑셀 파일 내 모든 시트 이름을 출력합니다.
print(wb.sheetnames)

# 활성화된 시트를 새로운 변수에 할당합니다.
sheet = wb.active

# 시트 제목을 출력합니다.
print(sheet.title)

 

load_workbook 함수를 이용하여 샘플 엑셀 파일을 열었습니다. 그다음 파일 내 모든 시트 이름을 출력하고 사용 가능한 시트를 선택해 새로운 변수에 저장하였습니다. 

 

워크북 만들기

 

다음과 같은 간단한 코드를 사용하여 빈 엑셀 파일을 만들 수 있습니다. 파일을 만들고 'A1' 셀에 'Hello World'라고 입력해 보겠습니다.

 

import openpyxl

wb = openpyxl.Workbook()

sheet = wb.active

sheet['A1'] = 'Hello World'

wb.save('HelloWorld.xlsx')

 

 

시트 읽기 

시트를 읽어오는 가장 간단한 방법은 시트의 이름을 활용하는 것입니다.

 

sheet = wb['Sheet']

 

새로운 시트 만들기

 

# 새로운 시트를 맨 뒤에 추가합니다.
sheet_last = wb.create_sheet("NewSheet")
# 새로운 시트를 맨 앞에 추가합니다.
sheet_first = wb.create_sheet("NewSheet", 0)

 

 

셀 다루기 

이번에는 셀에 값을 입력하는 방법과 입력되어있는 값을 읽어오는 방법을 알아보겠습니다. 셀 주소를 사용해 보겠습니다.

 

# 둘 중 어느 방법을 사용하여도 무방합니다.
sheet['A1'] = 'Hi, there'
sheet['A1'].value = 'Hi, there'

# 'A1' 셀의 값을 출력합니다.
print(sheet['A1'].value)

# 'Hi, there'

 

셀의 순서(인덱스)를 사용해서 셀을 다루어 보겠습니다.

 

sheet.cell(row=2, column=2).value = 'Python is fun'
print(sheet['B2'].value)

# 'Python is fun'

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.