python中使用xlrd、xlwt和xlutils3操做Excel

簡單試了下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
參考文檔地址
簡單程序實例
[python] view plain copy
 
  1. import xlrd  
  2. import xlwt  
  3. import xlutils3  
  4. from xlutils3 import copy  
  5. #測試xlwt  
  6. #建立新的excel文件  
  7. newfile = xlwt.Workbook()  
  8. #建立新的表單  
  9. #addsheet的格式add_sheet(sheetname, cell_overwrite_ok=False)  
  10. newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)  
  11. #索引從0,0開始  
  12. newsheet.write(0,0,'aaa')  
  13. newsheet.write(0,0,10)  
  14. newfile.save('firsttest.xls')  
  15.   
  16. #打開相應的excel文件  
  17. workbook = xlrd.open_workbook(r'firsttest.xls')  
  18. #找到相應的sheet  
  19. #能夠經過index,index從0開始計算  
  20. #也能夠經過sheet的名字   
  21. rdsheet = workbook.sheet_by_index(0)   
  22. rdsheet = workbook.sheet_by_name('test1')  
  23. print(rdsheet.cell(0,0))  
  24. #cell函數返回的是Cell 對象)包含ctype value xf_index  
  25. #輸出number:10.0  
  26. print(rdsheet.cell(0,0).ctype)  
  27. #輸出2?使用type查詢結果爲:<type 'member_descriptor'>具體含義?  
  28. print(rdsheet.cell(0,0).value)  
  29. #輸出10.0  
  30. print(rdsheet.cell(0,0).xf_index)  
  31. #輸出None  
  32.   
  33. rdbook = xlrd.open_workbook(r'firsttest.xls')  
  34. wtbook = copy.copy(rdbook)  
  35. wtsheet = wtbook.get_sheet(0)  
  36. type(wtsheet)  
  37. wtsheet.write(0,0,'aaaaa')  
  38. wtbook.save('bb.xls')  
  39.   
  40. newrdbook = xlrd.open_workbook(r'bb.xls')  
  41. print(newrdbook.sheet_by_name('test1').cell(0,0))  
  42. #輸出text:'aaaaa'  
  43. print(rdbook.sheet_by_index(0).cell(0,0))  
  44. #輸出number:10.0  
關於cell_overwrite_ok參數使用
[python] view plain copy
 
  1. newsheet = newfile.add_sheet('test1')  
  2. #索引從0,0開始  
  3. newsheet.write(0,0,'aaa')  
  4. newsheet.write(0,0,10)  
  5. newfile.save('firsttest.xls')  
彈出錯誤:Exception: Attempt to overwrite cell: sheetname=u'test1' rowx=0 colx=0
修改成不覆蓋已經有賦值的單元格是能夠操做的:
[python] view plain copy
 
  1. newsheet = newfile.add_sheet('test1')  
  2. #索引從0,0開始  
  3. newsheet.write(0,0,'aaa')  
  4. newsheet.write(0,1,10)  
若是須要覆蓋已經操做的單元格,須要設置cell_overwrite_ok=True:
[python] view plain copy
 
  1. newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)  
  2. #索引從0,0開始  
  3. newsheet.write(0,0,'aaa')  
  4. 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

如此往復找到須要的細節信息;測試

相關文章
相關標籤/搜索