랭귀지/python
파이썬의 OpenPyXL을 이용한 엑셀 문서 처리
유키공
2018. 1. 15. 11:30
파이썬의 OpenPyXL을 이용한 엑셀 문서 처리
파이썬은 엑셀 관련 작업에서 발생할 수 있는 처리하기 곤란한 일들을 자동화할 수 있기 때문에 엑셀 파일을 처리하는 방식에 큰 변화를 가져올 수 있습니다. 예를 들어, 회사 예산에 관련된 수백 개의 스프레드시트에서 특정 정보를 찾아야 할 수 있습니다. 굉장히 곤란한 일이지 않을까요? 파이썬을 이용해 엑셀 문서 작업을 손쉽게 수행하는 방법을 보여드리겠습니다.OpenPyXL 설치
- 간단한 예제
- 엑셀 읽는 법
엑셀파일 열기
Sheet 정보 가지고 오기
Cell에 접근하기
Cell의 범위에 접근하기
모든 행과 열 접근하기
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)
excel_document.get_sheet_names()
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)
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