반응형
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)을 확인해보면 다음과 같이 값이 채워져있다.
반응형
댓글