tip)파이썬으로 엑셀 다루기 (Python Excel handling)
본문 바로가기
Python_basic

tip)파이썬으로 엑셀 다루기 (Python Excel handling)

by Migos 2020. 2. 28.
반응형

파이썬으로 코딩을 하면 보통 결과를 저장하는데, 나같은 경우는 엑셀이 편해서 알아보던 중

openpyxl 이라는 라이브러리가 있어 배운 내용을 기록하고자 한다.

 

워크북(신규엑셀파일) 생성하기

import openpyxl 

wb = openpyxl.Workbook() 
wb.save('test.xlsx')

실행 결과(엑셀 생성!)

실행결과 test.xlsx가 생성되었다.(파이썬 파일과 동일한 폴더에 생성)

 

Workbook() 함수는 임시로 엑셀을 생성하는 코드이므로, 꼭 .save() 를 통해 저장해준다.

 

활성화된 워크시트 불러오는 방법

import openpyxl

wb = openpyxl.Workbook()
sheet = wb.active

워크북(wb) 변수에서 .active 기능을 사용하면 워크시트를 불러올 수 있다. 

 

새로운 워크시트 생성하는 방법

sheet2 = wb.create_sheet('두번째 시트')

 

시트 불러오는 방법

sheet2 = wb['두 번째 시트']

 

가지고 놀기!

엑셀 특정 셀에 내가 원하는 값 집어넣는 방법은 총 2가지가 있다.

1) B2 셀을 직접 지정해서 입력값 3을 넣는 예제

sheet['B2'] = 'b2'

개인적으로 이 방법은 고정된 몇개의 셀만 활용할 때 자주 쓸 것 같다.

 

2) 3번재 열과 3번째 행에 3을 넣는 예제

sheet.cell(row=3, column=3).value = '3'

두번째 방법은 점진적으로 하나씩 값을 늘려가는? .. for문을 써서 한줄씩 내려가면서 값을 읽고/쓰고싶을 때

사용하면 좋을 것 같다.

for idx in range(10):
    c = sheet.cell(row=1, column=idx+1).value = idx

점진적으로 한 줄 씩 추가하는 기능을 사용할 때 for문과 결합해서 아래와 같이 사용할 수 있다.

 

결과 저장

wb.save('test2.xlsx')

 

결과 확인!

기존 엑셀 파일 불러오는 방법(openpyxl.load_workbook() 사용)

openpyxl 라이브러리에서 load_workbook() 를 사용하면 기존에 저장된 엑셀을 불러오기/읽을 수 있다.

단, 해당 셀에서 수식 자체를 가져오는게 아닌, 우리가 눈으로 보이는 값을 가져오고싶을때는,

엑셀파일 'test2.xlsx', data_only=True 를 꼭 추가해준다.

import openpyxl

wb = openpyxl.load_workbook('test2.xlsx', data_only=True)

불러왔으면, sheet를 열고, cell에 값을 입력하거나 이미 지정된 값을 읽어오면 된다.

 

import openpyxl

# 워크북 열기
wb = openpyxl.load_workbook('test2.xlsx')

# 시트 열기(활성화)
sheet1 = wb.active

# 원하는 입력/수정 수행
sheet['B2'] = 'b2'
sheet.cell(row=3, column=3).value = '3'

# 저장
wb.save('test2.xlsx')

 

이정도만 숙지하면 충분히 엑셀과 연동해서 쉽게 결과를 확인할 수 있을 것이다.

 

끝.

반응형

댓글