xlrd/xlwt 여러 시트 다루기


_images/xlrd_xlwt_ex02_01.PNG

여러 개의 시트가 있는 엑셀 파일


xlrd, xlwt의 기능을 이용해서 여러 시트에 있는 데이터 중 필요한 데이터만 골라서 가져와 보겠습니다.

위 그림과 같이 엑셀 파일의 세 개의 시트에 숫자 데이터가 있습니다.

각 시트의 세번째 행 (row)의 데이터만 가져와서 새로운 파일에 저장해 보겠습니다.



예제

import xlrd, xlwt

# 엑셀 파일 읽기
wb = xlrd.open_workbook('data01.xls')
sheets = wb.sheets()

# 시트의 개수
nsheets = wb.nsheets

# 새로운 워크북 생성
wbwt = xlwt.Workbook(encoding='utf-8')

# 새 시트 생성
ws = wbwt.add_sheet('Sheet1', cell_overwrite_ok=True)

# 데이터 가져오기
for i in range(nsheets):
  third_row = sheets[i].row_values(2)

  for j in range(len(third_row)):
    ws.write(i, j, third_row[j])

# 파일 저장
wbwt.save('result.xls')

엑셀 파일을 읽고 시트에 따라 원하는 데이터 (third_row)를 새로운 워크북으로 가져와서

‘result.xls’ 파일로 저장합니다.

결과는 아래와 같습니다.


_images/xlrd_xlwt_ex02_02.PNG

result.xls



이전글/다음글