簡單試了下python下excel的操做,使用了xlrd、xlwt和xlutil3;xlrd能夠實現excel的讀取操做,xlwt則是寫入excel操做,xlutils3主要是爲了修改excel,簡單理解能夠拷貝已有excel進行修改,生成新的excel表格。
安裝包下載地址
http://pypi.python.org/pypi/xlrd
http://pypi.python.org/pypi/xlwt
參考文檔地址
簡單程序實例
- import xlrd
- import xlwt
- import xlutils3
- from xlutils3 import copy
- newfile = xlwt.Workbook()
- newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
- newsheet.write(0,0,'aaa')
- newsheet.write(0,0,10)
- newfile.save('firsttest.xls')
-
- workbook = xlrd.open_workbook(r'firsttest.xls')
- rdsheet = workbook.sheet_by_index(0)
- rdsheet = workbook.sheet_by_name('test1')
- print(rdsheet.cell(0,0))
- print(rdsheet.cell(0,0).ctype)
- print(rdsheet.cell(0,0).value)
- print(rdsheet.cell(0,0).xf_index)
-
- rdbook = xlrd.open_workbook(r'firsttest.xls')
- wtbook = copy.copy(rdbook)
- wtsheet = wtbook.get_sheet(0)
- type(wtsheet)
- wtsheet.write(0,0,'aaaaa')
- wtbook.save('bb.xls')
-
- newrdbook = xlrd.open_workbook(r'bb.xls')
- print(newrdbook.sheet_by_name('test1').cell(0,0))
- print(rdbook.sheet_by_index(0).cell(0,0))
關於cell_overwrite_ok參數使用
- newsheet = newfile.add_sheet('test1')
- newsheet.write(0,0,'aaa')
- newsheet.write(0,0,10)
- newfile.save('firsttest.xls')
彈出錯誤:Exception: Attempt to overwrite cell: sheetname=u'test1' rowx=0 colx=0
修改成不覆蓋已經有賦值的單元格是能夠操做的:
- newsheet = newfile.add_sheet('test1')
- newsheet.write(0,0,'aaa')
- newsheet.write(0,1,10)
若是須要覆蓋已經操做的單元格,須要設置cell_overwrite_ok=True:
- newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
- newsheet.write(0,0,'aaa')
- newsheet.write(0,0,10)
運行成功html
如何在python擴展查詢須要的信息
如:當最初只知道使用newfile = xlwt.Workbook();建立一個新的文件時;python
後續操做查詢:api
能夠經過type(newfile)獲得類型<class 'xlwt.Workbook.Workbook'>;函數
而後時候使用help(xlwt.Workbook)查詢Workbook對應的接口,固然使用help(newfile)也是能夠的;post
如此往復找到須要的細節信息;測試