標籤:sheet 索引 xlrd rownum 行修改 儲存資料 xls i+1 尾碼
一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模組,xlrd模組是讀取excel的,xlwt模組是寫excel的,xlutils是用來修改excel的。這幾個模組使用pip安裝即可,下面是這幾個模組的使用。
二、xlrd模組,xlrd模組用來讀excel,具體用法如下:
- import xlrd
- #開啟excel
- wb=xlrd.open_workbook(‘abc.xlsx‘)#開啟的這個excel必須存在,否則會報錯
- print(wb.sheet_names()) #擷取所有sheet頁的名字
- sheet=wb.sheet_by_name(‘abc2‘)#根據sheet頁的名字擷取sheet頁
- sheet = wb.sheet_by_index(0)#根據sheet頁的索引擷取sheet頁
- #擷取sheet頁的行數和列數
- print(sheet.nrows)
- print(sheet.ncols)
- #列印每行資訊
- for rownum in range(sheet.nrows): #迴圈取每行的資料
- print(sheet.row_values(rownum))#取每行的資料 colnum
- #按照索引列印對應儲存格內容
- cell_A2=sheet.cell(0,1).value#擷取指定儲存格的值,第一個值是列,第二個值是行
- print(cell_A2)
三、xlwt模組,xlwt模組用來寫excel,寫一個新的excel
- import xlwt
- title = [‘姓名‘,‘年齡‘,‘性別‘,‘分數‘]
- stus = [[‘mary‘,20,‘女‘,89.9],[‘mary‘,20,‘女‘,89.9],[‘mary‘,20,‘女‘,89.9],[‘mary‘,20,‘女‘,89.9]]
- #建立一個excel對象
- wbk = xlwt.Workbook()
- #添加一個名為 課程表的sheet頁
- sheet = wbk.add_sheet(‘stu‘)
- for i in range(len(title)):#寫入表頭
- sheet.write(0,i,title[i])#寫入每行,第一個值是行,第二個值是列,第三個是寫入的值
- for i in range(len(stus)):
- for j in range(4):
- sheet.write(i+1,j,stus[i][j])#迴圈寫入每行資料
- #儲存資料到‘test.xls’檔案中
- wbk.save(‘szz.xls‘)#儲存excel必須使用尾碼名是.xls的,不是能是.xlsx的
四、xlutils模組,xlutils模組用來修改excel的內容,不能直接修改原來的excel內容,必須得先複製一個新的excel,然後對這個新的excel進行修改,用法如下:
- from xlrd import open_workbook#匯入xlrd模組中開啟excel模組
- from xlutils.copy import copy#匯入xlutils模組的複製excel模組
- rb = open_workbook(‘szz.xls‘)
- #通過sheet_by_index()擷取的sheet
- rs = rb.sheet_by_index(0)
- #複製一個excel
- wb = copy(rb)
- #通過擷取到新的excel裡面的sheet頁
- ws = wb.get_sheet(0)
- ws.write(1, 0, ‘Lily‘)#寫入excel,第一個值是行,第二個值是列
- wb.save(‘szz_new.xls‘)#儲存新的excel,儲存excel必須使用尾碼名是.xls的,不是能是.xlsx的
python基礎(六)python操作excel