이번 포스팅에서는 파이썬의 라이브러리 중 하나인 openpyxl에 대하여 공부를 해보고자 한다.
openpyxl란
openpyxl은 파이썬에서 Excel 파일을 다루기 위한 라이브러리이다.
이 라이브러리는 Excel 파일을 생성, 수정, 읽기 및 저장할 수 있는 기능을 제공한다.
또한 파이썬의 다른 라이브러리와 함께 사용될 수 있으며, 데이터 분석, 데이터 처리, 보고서 생성 등 다양한 작업에 유용하게 활용된다.
openpyxl은 .xlsx 파일 형식을 지원하며, Excel 2010 이상에서 작동한다.
따라서 openpyxl을 사용하면 Excel 파일의 워크시트, 셀, 행, 열 등을 조작할 수 있다.
만약 다른 Excel 파일 형식인 .xls나 .csv 등을 처리하려면 다른 라이브러리를 사용해야 한다.
openpyxl의 주요 기능
- Excel 파일의 데이터를 읽고 쓰기
- Excel 파일의 셀의 스타일, 색상, 글꼴, 정렬 등의 속성을 변경
- Excel 파일의 워크시트에 대한 추가, 삭제, 이름 변경 등의 작업 수행
- Excel 파일에서 차트 생성 및 조작
openpyxl에서 제공하는 기능과 개념
- 워크북 (Workbook)
Excel 파일 전체를 나타내는 개념으로, 워크북에는 여러 개의 워크시트(Sheet)가 포함될 수 있다. - 워크시트 (Sheet)
Excel 파일 내의 하나의 시트를 나타냅니다.
워크시트는 이름, 행, 열, 셀 등의 속성을 가지고 있다.
openpyxl을 사용하여 워크시트를 생성, 삭제, 선택, 이름 변경 등의 작업을 수행할 수 있다. - 셀 (Cell)
워크시트 내의 개별적인 셀을 나타낸다.
각 셀은 행과 열의 위치로 식별되며, 셀에는 데이터, 스타일, 수식 등을 포함할 수 있다.
openpyxl을 사용하여 셀의 값을 읽고 쓰는 작업을 수행할 수 있다. - 행 (Row)과 열 (Column)
워크시트 내에서 데이터가 포함된 행과 열을 나타낸다.
openpyxl을 사용하여 행과 열을 추가, 삭제, 숨기기, 조작하는 등의 작업을 수행할 수 있다. - 스타일 (Style)
openpyxl은 셀의 서식, 폰트, 배경색 등 다양한 스타일 요소를 조작할 수 있는 기능을 제공한다.
스타일을 사용하여 셀의 외관을 변경하거나, 텍스트 포맷팅, 테두리, 색상 등을 설정할 수 있다.
사용 예시
다음은 openpyxl을 사용하여 Excel 파일을 생성, 수정, 읽기 및 저장하는 예시이다.
1. 설치
먼저, openpyxl 라이브러리를 설치해야 한다.
pip install openpyxl
2. Excel 파일 생성
openpyxl을 사용하여 새로운 Excel 파일을 생성할 수 있다.
from openpyxl import Workbook
# 워크북 생성
workbook = Workbook()
# 현재 활성화된 워크시트 선택
sheet = workbook.active
# 데이터 입력
sheet["A1"] = "Hello"
sheet["B1"] = "World!"
# Excel 파일 저장
workbook.save("example.xlsx")
- 위 코드는 "Hello"와 "World!"라는 데이터를 A1, B1 셀에 입력하고, "example.xlsx"라는 이름의 Excel 파일로 저장하는 예시입니다.
3. Excel 파일 수정 및 읽기
openpyxl을 사용하여 이미 존재하는 Excel 파일을 수정하거나 읽을 수 있다.
from openpyxl import load_workbook
# Excel 파일 불러오기
workbook = load_workbook("example.xlsx")
# 워크시트 선택
sheet = workbook.active
# 데이터 수정
sheet["A1"] = "Hello OpenPyXL"
# 데이터 읽기
cell_value = sheet["B1"].value
print(cell_value)
- 위 코드는 "example.xlsx" 파일을 불러와 A1 셀의 데이터를 수정하고, B1 셀의 값을 읽는 예시이다.
- 수정한 내용은 원본 파일에 저장하지 않았으므로, 추가적인 저장 작업이 필요할 수 있다.
4. 행과 열 조작
openpyxl을 사용하여 행과 열을 추가, 삭제, 숨기기, 조작할 수 있다.
from openpyxl import Workbook
# 워크북 생성
workbook = Workbook()
# 워크시트 선택
sheet = workbook.active
# 행 추가
sheet.append(["Name", "Age", "City"]) # 행 추가
data = [("John", 25, "New York"), ("Emma", 30, "London"), ("Mike", 35, "Paris")]
for row in data:
sheet.append(row)
# 열 추가
sheet.insert_cols(2) # 2번째 열 추가
# 행 삭제
sheet.delete_rows(2) # 2번째 행 삭제
# 행 숨기기
sheet.row_dimensions[3].hidden = True # 3번째 행 숨기기
# Excel 파일 저장
workbook.save("example.xlsx")
- 위 코드는 워크북을 생성하고, 워크시트에 행과 열을 추가하고 삭제하며, 행을 숨기는 예시이다.
5. 스타일 적용
openpyxl을 사용하여 셀에 스타일을 적용할 수 있다.
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment
# 워크북 생성
workbook = Workbook()
# 워크시트 선택
sheet = workbook.active
# 데이터 입력
sheet["A1"] = "Hello"
sheet["A2"] = "World!"
# 스타일 적용
font = Font(name="Arial", size=12, bold=True, italic=False)
sheet["A1"].font = font
alignment = Alignment(horizontal="center", vertical="center")
sheet["A1"].alignment = alignment
# Excel 파일 저장
workbook.save("example.xlsx")
- 위 코드는 A1 셀에 "Hello"라는 데이터를 입력하고, 해당 셀에 폰트와 정렬 스타일을 적용하는 예시이다.
이와 같이 openpyxl을 사용하여 Excel 파일을 생성, 수정, 읽기 및 저장하고, 행과 열을 조작하며, 스타일을 적용할 수 있다.
'Back-End > Python' 카테고리의 다른 글
[Python] heapq 모듈 (0) | 2023.06.30 |
---|---|
[Python] deque (0) | 2023.06.27 |
[Python] 정규 표현식(Regular Expression) (0) | 2023.06.26 |
[Python] zip 함수 (0) | 2023.06.24 |
[Python] isdigit 메서드 (0) | 2023.06.21 |