當前位置:成語大全網 - 新華字典 - Python語言中的第三方模塊xlrd和xlwt是分別起讀取excel的內容和寫入excel的內容的作用

Python語言中的第三方模塊xlrd和xlwt是分別起讀取excel的內容和寫入excel的內容的作用

妳這裏存在壹個誤區,只靠xlrd和xlwt不能直接實現對已經存在Excel進行數據插入,原因如下:

1、使用xlrd的xlrd.open_workbook()方法打開文件返回的是壹個只讀對象,只能讀Excel內容,不能向Excel寫入數據;

2、使用xlwt的xlwt.Workbook()方法是創建壹個空的Excel對象,然後向裏面寫入;

所以讀取和創建Excel都可以直接實現,但是修改已經存在的Excel需要借助xlutils,它的作用是在xlrd類型的workbook和xlwt類型的workbook之間建立了壹個管道,利用xlutils的copy方法將只讀對象變成可寫對象,簡單代碼實現如下:

import?xlrd

from?xlutils.copy?import?copy

readOnlyWorkbook?=?xlrd.open_workbook('TestFile.xls')

readOnlySheet=?readOnlyWorkbook.sheet_by_index(0)?#?通過sheet_by_index()獲取的sheet沒有write()方法

writableWorkbook=?copy(readOnlyWorkbook)?#?利用xlutils.copy函數,將xlrd.Book轉為xlwt.Workbook

writableSheet?=?writableWorkbook.get_sheet(0)?#?通過get_sheet()獲取的sheet有write()方法

writableSheet.write(3,?3,?'insertData')?#?寫入3,3這個單元格

writableWorkbook.save('TestFile.xls')?#?保存文件

妳自己增加代碼判斷原Excel某個單元格是否有數據,完善妳的代碼,避免插入時覆蓋了,運行後Excel情況見截圖

上述方法我寫的是不能“直接”實現已有Excel的數據插入或修改,但是可以間接的來

使用xlrd讀原有Excel

使用xlwt創建壹個新文件並把1中讀取的內容寫入

再插入需要增加的數據,保存

刪掉原Excel,把新創建的Excel改成原Excel的名字

這種方法妳就自己玩,因為原來Excel可能有格式啊,公式啊什麽的,新創建就會很麻煩