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


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번 생성하고 싶거든요. 근데 방법을 모르겠어요.

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

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

  • 2017년 11월 29일에 작성됨

조회수 103


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월 29일에 작성됨

  • 네 이렇게 하니까 되네요! 감사합니다~    임현준   2017.11.30 10:20     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close