파이썬에서 한번에 연속되는 변수를 생성하고 싶습니다.

조회수 1630회

openpyxl을 이용해서 원본 엑셀파일에서 새로운 엑셀파일에 데이터를 옮겨오는 프로그램을 만들려고 합니다.

새로 만드는 엑셀파일에 엑셀파일 하나당 100행만 들어가야 되는데 원본 엑셀 파일은 행이 몇백개가 기본이거든요.

이런 경우에 워크북을 여러개 만들어야 되는데 워크북 변수를 연속으로 생성하는 방법을 모르겠습니다.

for wbc in range(total_row_count//100):

    wb = Workbook()
    ws = wb.create_sheet("Sheet1", 0)

만약에 원본파일의 총 행 갯수(total_row_count)가 420개라면 for문이 4번 돌잖아요.

그럼 저 wb를 4번 생성하고 싶거든요. 근데 방법을 모르겠어요.

문자열로 합치면 될까싶었는데 안되네요.

아신는분 답변 부탁드립니다.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    이러면 되나요?

    >>> from openpyxl import Workbook
    >>> total_row_count = 420
    >>> wb = [Workbook() for _ in range(int(total_row_count / 100))]
    >>> wb
    [<openpyxl.workbook.workbook.Workbook object at 0x0AC52390>,
     <openpyxl.workbook.workbook.Workbook object at 0x0AC528F0>,
     <openpyxl.workbook.workbook.Workbook object at 0x0AC57050>,
     <openpyxl.workbook.workbook.Workbook object at 0x0AC57730>]
    >>> wb[0]
    <openpyxl.workbook.workbook.Workbook object at 0x0AC52390>
    >>> wb[0].create_chartsheet("Sheet1", 0)
    <Chartsheet "Sheet1">
    
    • 네 이렇게 하니까 되네요! 감사합니다~ 임현준 2017.11.30 10:20

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)