python3:xlrd、xlwt、xlutils處理excel文件


1.xlrd讀取excel

請參考上篇博客https://www.cnblogs.com/shapeL/p/9075843.html

2.xlwt生成excel

安裝下載:pip install xlwt

導入:import xlwt

參考:

生成excel文件test1.xls

file_name = '../dataconfig/test1.xls' wbk = xlwt.Workbook()                        #初始化workbook對象
sheet = wbk.add_sheet('My_Worksheet')        #創建表
sheet.write(0,0,'ok')                        #往單元格寫入內容
wbk.save(file_name)                          #保存

如果對同一單元多次操作,報錯

file_name = '../dataconfig/test1.xls' wbk = xlwt.Workbook() sheet = wbk.add_sheet('My_Worksheet') sheet.write(0,1,'ok') sheet.write(0,1,'hhok') wbk.save(file_name)
報錯:
Exception: Attempt to overwrite cell: sheetname='My_Worksheet' rowx=0 colx=1

解決方案:使用cell_overwrite_ok=True來創建worksheet

sheet = wbk.add_sheet('My_Worksheet',cell_overwrite_ok=True)

 3.xlutils修改excel 

實際場景:需要將執行結果放入特定單元格中或者對特定單元格數據進行修改

Python中一般使用xlrd(excel read)來讀取Excel文件,用xlrd讀取excel是不能對其進行操作的:xlrd.open_workbook()方法返回xlrd.Book類型,是只讀的,不能對其進行操作;使用xlwt(excel write)來生成Excel文件,xlwt.Workbook()返回的xlwt.Workbook類型的save(filepath)方法可以保存excel文件。xlutils(依賴於xlrd和xlwt)提供復制excel文件內容和修改文件的功能,其實際也只是在xlrd.Book和xlwt.Workbook之間建立了一個管道而已。

安裝下載:pip install xlutils

導入:from xlutils.copy import copy

file_name = '../dataconfig/interface.xls' rb = xlrd.open_workbook(file_name) print(type(rb)) wb = copy(rb) #管道作用:利用xlutils.copy函數,將xlrd.Book轉為xlwt.Workbook,再用xlwt模塊進行存儲
print(type(wb)) wb.get_sheet(0).write(1,1,'ok') #通過get_sheet()獲取的sheet有write()方法
wb.save(file_name)
輸出結果:
<class 'xlrd.book.Book'>
<class 'xlwt.Workbook.Workbook'>

excel修改流程如圖:

參考文檔:https://www.cnblogs.com/jiangzhaowei/p/6179759.html

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM