아미(아름다운미소)

파이썬의 OpenPyXL을 이용한 엑셀 문서 처리 본문

랭귀지/PYTHON

파이썬의 OpenPyXL을 이용한 엑셀 문서 처리

유키공 2018. 1. 15. 11:30

파이썬의 OpenPyXL을 이용한 엑셀 문서 처리

파이썬은 엑셀 관련 작업에서 발생할 수 있는 처리하기 곤란한 일들을 자동화할 수 있기 때문에 엑셀 파일을 처리하는 방식에 큰 변화를 가져올 수 있습니다. 예를 들어, 회사 예산에 관련된 수백 개의 스프레드시트에서 특정 정보를 찾아야 할 수 있습니다. 굉장히 곤란한 일이지 않을까요? 파이썬을 이용해 엑셀 문서 작업을 손쉽게 수행하는 방법을 보여드리겠습니다. 

OpenPyXL 설치
pip install openpyxl

- 간단한 예제
from openpyxl import Workbook
wb = Workbook()
 
# grab the active worksheet 
ws = wb.active
 
# Data can be assigned directly to cells 
ws['A1'] = 42
 
# Rows can also be appended 
ws.append([1, 2, 3])
 
# Python types will automatically be converted 
import datetime
ws['A2'] = datetime.datetime.now()
 
# Save the file 
wb.save("sample.xlsx")

- 엑셀 읽는 법 엑셀파일 열기
import openpyxl
excel_document = openpyxl.load_workbook('sample.xlsx')
 
print type(excel_document)

Sheet 정보 가지고 오기
excel_document.get_sheet_names()

Cell에 접근하기
sheet = excel_document.get_sheet_by_name('Sheet1')
# 하나의 Cell의 값 
print sheet['A2'].value
 
#Row, Column을 이용하여 접근하기 
print sheet.cell(row = 5, column = 2).value
 
#해당 객체의 타입 보기 
print type(sheet['A2'])
 
#Cell 객체 가지고 오기 
print sheet.cell(row = 5, column = 2)

Cell의 범위에 접근하기
multiple_cells = sheet['A1':'C2']
for row in multiple_cells:
    for cell in row:
        print cell.value

모든 행과 열 접근하기
# 모든 열 
all_rows = sheet.rows
for row in all_rows:
  print row.value
 
# 모든 행 
all_columns = sheet.columns
for column in all_columns
  print column.value



Comments