xlwt 소개#
pyExcelerator의 클론 프로젝트이며, COM 또는 엑셀의 설치가 없더라도 엑셀 파일을 생성을 가능하게 해주는 파이썬 모듈이다. 즉, 리눅스를 포함한 다른 플랫폼에서의 사용이 가능하다. 다운로드는 아래의 홈페이지에서 최신 버전을 받는다.
별도의 문서가 있는것이 아니라, 예제를 통해서 사용방법을 익혀야 한다. 예제 파일들은 아래의 위치에서 확인가능하다.
xlwt 사용법#
기본 사용법#
xlwt.Workbook을 생성하고, Sheet를 추가하여 Row/Col에 데이터를 쓸수 있다.
import xlwt
wbk = xlwt.Workbook() # create Workbook
sheet = wbk.add_sheet('sheet 1') # add sheet named 'sheet 1'
sheet.write(0,0,'Hello Excel') # write 'Hello Excel' at (0,0) row & col
wbk.save('test.xls') # save
사용 예제 1 : Cell에 Overwrite 하기#
기본 설정으로 덮어쓰기를 시도하면,
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1')
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1')
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')
다음과 같은 Exception을 볼 수 있다.
Traceback (most recent call last):
File "C:\JOOHYUN\workspace\Python_Practice\src\xlwt_01.py", line 13, in <module>
sheet.write(0,0,"11")
File "C:\developer\Python_26\lib\site-packages\xlwt\Worksheet.py", line 1003, in write
self.row(r).write(c, label, style)
File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 231, in write
StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))
File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 150, in insert_cell
raise Exception(msg)
Exception: Attempt to overwrite cell: sheetname=u'Sheet 1' rowx=0 colx=0
File "C:\JOOHYUN\workspace\Python_Practice\src\xlwt_01.py", line 13, in <module>
sheet.write(0,0,"11")
File "C:\developer\Python_26\lib\site-packages\xlwt\Worksheet.py", line 1003, in write
self.row(r).write(c, label, style)
File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 231, in write
StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))
File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 150, in insert_cell
raise Exception(msg)
Exception: Attempt to overwrite cell: sheetname=u'Sheet 1' rowx=0 colx=0
덮어쓰기를 가능하게 하려면 아래와 같은 설정을 해주어야 한다.
import xlwt
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1', cell_overwrite_ok=True)
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1', cell_overwrite_ok=True)
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')
사용 예제 2 : 서식 바꾸기#
-
날짜 서식 바꾸는 예제
-
하이퍼링크를 사용하는 예제
-
셀간 병합을 다루는 예제
-
행에 서식을 넣는 예제
-
함수를 사용하는 예제
참고#
- http://scienceoss.com/read-excel-files-from-python/
- http://scienceoss.com/write-excel-files-with-python-using-xlwt/
- http://panela.blog-city.com/pyexcelerator_xlwt_cheatsheet_create_native_excel_from_pu.htm
이 글은 스프링노트에서 작성되었습니다.