관리 메뉴

Life goes slowly...

[Python] 파이썬 엑셀 활용 openpyxl 라이브러리 본문

프로그래밍/Python

[Python] 파이썬 엑셀 활용 openpyxl 라이브러리

빨강소 2020. 8. 10. 10:22
728x90
반응형

Java 프로그래밍에서 엑셀을 활용하는 라이브러리로는 Apache에서 제공하는 POI 라이브러리 가 있는데 Python 프로그래밍에서도 Excel를 활용할 수 있는 라이브러리로 openpyxl, pandas, xlrd, xlutils, pyexcel 라이브러리들이 있습니다.
이 중에서 가장 사용하기 쉽고 대중적으로 많이 사용되고 있는 라이브러리로는 파이썬 openpyxl 라이브러리가 있습니다. Java 프로그래밍보다는 간단하고 가벼우면서 사용하기 편한 Python 엑셀 활용방법입니다.
참고로 openpyxl은 Excel 2010 이상의 xlsx, xlsm, xltx, xltm 파일을 처리할 수 있으며 프로그래밍에서 다운로드된 Excel 파일이 xls이라면 xlsx로 변환을 해주어야 라이브러리를 활용이 가능합니다.

 

파이썬 라이브러리 openpyxl 설치
pip install openpyxl

 

파이썬 라이브러리 openpyxl 사용방법
# 엑셀파일 열기
excelFile = openpyxl.load_workbook('파일명')

# 엑셀파일 시트 목록 불러오기
excelFile.get_sheet_names()

# 엑셀파일 특정 시트 불러오기
testSheet1= excelFile.get_sheet_names('시트')

# 활성화된 시트 불러오기
testSheet2 = excelFile.get_active_sheet()

# 새로운시트 만들기
testSheet2.create_sheet(index = 2, title='Test Sheet')

# 엑셀파일 저장하기(파일명이 없을경우 만들기)
testSheet2.save('파일.xlsx')

# 셀에 Data를 입력 하는 방법
testSheet2.cell(row=row값, column=column값).value = [Data입력값]

# 시트에 셀값 불러오기
testSheet1['A1'].value                  //A열1행 Data 값 불러오기
testSheet1.cell(row=1,column=1).value   //1Row 1Column Data 값 불러오기
testSheet1.max_row                      //해당시트의 최대 행 위치값 반환
testSheet1.max_column                   //해당시트의 최대 Column 위치값 반환
testSheet1.['A1:C3']                    //A열1행 Data에서 C열3행 Data 값까지 불러오기


# 엑셀시트에 행,열을 추가
testSheet1.insert_cols(count)
testSheet1.insert_rows(count)

 

파이썬 라이브러리 엑셀파일 복사하기
import shutil 

shutil.copy(기존파일, 신규파일)

 

파이썬 라이브러리 openpyxl.style 사용방법
from openpyxl.styles import PatternFill
from openpyxl.styles import Alignment

# 지정된 음영 색으로 음역 색칠하기
testSheet1["A1"].fill = yellowFill	

# 음영 색 지정
yellowFill = PatternFill(start_color='FFFFFF00', fill_type='solid', end_color='FFFFFF00')

# 셀 내용 가운데 정렬하기
cell = testSheet1.cell(row=1,column=1)
cell.alignment = Alignment(horizontal='center')
728x90
반응형
Comments