본문 바로가기
개발/Python

Python 엑셀 openpyxl 활용

by 궁즉변 변즉통 통즉구 2023. 7. 30.
반응형

Python에서 openpyxl 라이브러리를 사용하면 엑셀을 편하게 다룰 수 있다. 간단한 샘플을 통해서 openpyxl 활용하는 방법을 알아본다 

 

먼저 openpyxl을 설치해준다.

pip install openpyxl

 

 

샘플을 위한 엑셀 파일은 아래와 같이 간단하게 작성한다.

 

openpyxl의 샘플기능들은 아래 코드들을 통해서 확인해 본다. 엑셀 파일에서 값을 Read하고, 필요한 값을 Write하여 새로운 파일을 생성하는 샘플이다.

 

#작업 대상 엑셀파일(workbook)을 Load
#data_only=Ture로 해줘야 수식이 아닌 값으로 받아옴
load_wb = load_workbook("/test/sample.xlsx", data_only=True) 


#엑셀 Sheet이름으로 시트를 Load
load_ws = load_wb['Sheet1']

#셀 주소로 값 출력
print(load_ws['A1'].value) 
# A1의 값인 '과일' 출력


#셀 좌표로 값 출력
print(load_ws.cell(1,3).value) 
# 1번 row, 3번 column의 값인 '수량' 출력


print('\n-----모든 행과 열 출력 샘플 -----')
all_values = []
for row in load_ws.rows: # 각 row 별 loop
    row_value = []
    for cell in row:  # row의 각 cell loop
        row_value.append(cell.value)
    all_values.append(row_value)
print(all_values)


print('\n----- "금액" Cell 값 계산 Write -----')
for row in load_ws.iter_rows(min_row=2): # 2번째 row 부터 실행
    price = row[1].value # 가격
    count = row[2].value # 수량
    row[3].value = price*count # '금액' cell에 값 등록
    print(price, ' * ', count, ' = ', row[3].value)


# 'sample_rlt.xlsx'파일로 저장
load_wb.save("/test/sample_rlt.xlsx")

 

위의 코드를 실행하면 결과는 아래와 같이 출력된다.

 

마지막으로 생성된 파일(sample_rlt.xlsx)을 확인해보면 다음과 같이 값이 채워져있다.

 

 

반응형

댓글