[Python] openpyxl 라이블러리 예제

2024. 1. 3. 18:04카테고리 없음

openpyxl은 파이썬에서 Excel 파일을 다루기 위한 라이브러리로, 엑셀 파일의 생성, 수정, 분석을 할 수 있습니다. 아래는 openpyxl을 사용하여 간단한 Excel 파일을 생성하고 편집하는 예제 코드입니다.

1. openpyxl 라이브러리 설치

pip install openpyxl

2. Excel 파일 생성 및 데이터 입력 예제

import openpyxl

def create_excel_file(file_path):
    # 새로운 워크북 생성
    workbook = openpyxl.Workbook()

    # 기본 시트 사용
    sheet = workbook.active

    # 데이터 입력
    sheet['A1'] = '이름'
    sheet['B1'] = '나이'
    sheet['A2'] = 'Alice'
    sheet['B2'] = 25
    sheet['A3'] = 'Bob'
    sheet['B3'] = 30

    # 워크북 저장
    workbook.save(file_path)
    print(f"Excel 파일이 {file_path}에 생성되었습니다.")

def read_excel_file(file_path):
    # 워크북 로드
    workbook = openpyxl.load_workbook(file_path)

    # 워크북 내의 시트 가져오기
    sheet = workbook.active

    # 데이터 출력
    for row in sheet.iter_rows(values_only=True):
        print(row)

if __name__ == "__main__":
    # Excel 파일 생성
    create_excel_file("example.xlsx")

    # Excel 파일 읽기
    read_excel_file("example.xlsx")

3. Excel 파일 수정 및 셀 스타일 지정 예제

import openpyxl
from openpyxl.styles import Font, Alignment

def modify_excel_file(file_path):
    # 워크북 로드
    workbook = openpyxl.load_workbook(file_path)

    # 워크북 내의 시트 가져오기
    sheet = workbook.active

    # 데이터 수정
    sheet['A2'] = 'Alicia'
    sheet['B2'] = 26

    # 셀 스타일 지정
    header_font = Font(bold=True, color='FF0000')
    header_alignment = Alignment(horizontal='center')
    for cell in sheet[1]:
        cell.font = header_font
        cell.alignment = header_alignment

    # 워크북 저장
    workbook.save(file_path)
    print(f"Excel 파일이 {file_path}에 수정되었습니다.")

if __name__ == "__main__":
    # Excel 파일 수정
    modify_excel_file("example.xlsx")

 

4. 엑셀 파일 읽기

import openpyxl

def read_excel_file(file_path):
    try:
        # 엑셀 파일 로드
        workbook = openpyxl.load_workbook(file_path)

        # 워크북 내의 시트 가져오기
        sheet = workbook.active

        # 데이터 출력
        for row in sheet.iter_rows(values_only=True):
            print(row)

    except FileNotFoundError:
        print(f"파일 '{file_path}'을(를) 찾을 수 없습니다.")

    except Exception as e:
        print(f"파일을 읽는 중 오류 발생: {str(e)}")

if __name__ == "__main__":
    # 읽을 엑셀 파일의 경로 입력
    file_path = "example.xlsx"

    # 엑셀 파일 읽기
    read_excel_file(file_path)

5. 특정 셀 값 가져오기

import openpyxl

def read_specific_cell(file_path, sheet_name, cell):
    try:
        # 엑셀 파일 로드
        workbook = openpyxl.load_workbook(file_path)

        # 워크북 내의 특정 시트 가져오기
        sheet = workbook[sheet_name]

        # 특정 셀 값 가져오기
        cell_value = sheet[cell].value
        print(f"{cell}의 값: {cell_value}")

    except FileNotFoundError:
        print(f"파일 '{file_path}'을(를) 찾을 수 없습니다.")

    except Exception as e:
        print(f"파일을 읽는 중 오류 발생: {str(e)}")

if __name__ == "__main__":
    # 읽을 엑셀 파일의 경로 입력
    file_path = "example.xlsx"

    # 시트 이름과 특정 셀 입력
    sheet_name = "Sheet1"
    target_cell = "A1"

    # 특정 셀 값 가져오기
    read_specific_cell(file_path, sheet_name, target_cell)

이 예제 코드는 특정 시트와 셀의 값을 가져오는 함수를 추가로 제공합니다. 파일 경로, 시트 이름, 특정 셀을 입력하면 해당 셀의 값을 출력합니다.

반응형