개발/PYTHON-OPENPYXL

파이썬 데이터 엑셀저장 - openpyxl 활용

Aireee 2022. 8. 15. 15:43
300x250
반응형

개발에서는 데이터를 저장해야 하는 경우가 있다. 

예를들면, 데이터베이스에 내용을 입력해야 하는 경우도 있고, 특정결과물을 파일로 출력해야 하는 경우도 있다. 

만약 엑셀로 데이터를 저장하려면 어떻게 해야 할까? 

바로 openpyxl 을 이용하면 된다. 

쉽게 이용하기 위해 함수화 해서 재탕해서 쓰면 된다. 

엑셀은 보통 특정한 값의 뭉치 즉 배열화된 데이터를 저장하고 있기 때문에 그렇게 생각하고 작성해보았다.

import openpyxl

def createExcel(sheetname, data, filename):
    w = openpyxl.Workbook()
    s = w.active
    s.title = sheetname
    row_number = 1
    for x in data: 
    	col_number = 1
        for y in x:
        	if y != None and y != '':
                    s.cell(row = row_number, column = col_number).value = y
            col_number +=1
        row_number +=1
    w.save(filename)

 

openpyxl 모듈을 사용할 것이므로 반드시 import 시켜주어야만 한다. 

문서를 생성할 때 데이터는 시트명, 데이터, 파일명이 필요하다. 함수명은 createExcel 이라고 지정해보았다

w 에 워크시트를 저장한다. 

그리고 현재 활성화되는 페이지인 사실상 첫페이지를 s 로 지정한다

s.title 을 이용해 시트명을 지정해주고

data 를 열과, 행에 맞게 저장하도록 한다. 

그리고 마지막으로 w.save 를 통해 지정한 filename 으로 워크시트를 저장한다. 

 

반응형