1、python操做excel,python操做excel使用xlrd、xlwt和xlutils模塊,xlrd模塊是讀取excel的,xlwt模塊是寫excel的,xlutils是用來修改excel的。這幾個模塊使用pip安裝便可,下面是這幾個模塊的使用。python
2、xlrd模塊,xlrd模塊用來讀excel,具體用法以下:spa
import xlrd #打開excel wb=xlrd.open_workbook('abc.xlsx')#打開的這個excel必須存在,不然會報錯 #獲取全部sheet頁的名字 print(wb.sheet_names()) #按名字查找第二張表單 # 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))#取每行的數據 #按照索引打印對應單元格內容 cell_A2=sheet.cell(0,1).value#獲取指定單元格的值,第一個值是列,第二個值是行 print(cell_A2)
3、xlwt模塊,xlwt模塊用來寫excel,寫一個新的excelexcel
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)): if i !=0:#若是不是表頭的話 for j in range(4): sheet.write(i,j,stus[i][j])#循環寫入每行數據 #保存數據到‘test.xls’文件中 wbk.save('szz.xls')#保存excel必須使用後綴名是.xls的,不是能是.xlsx的
4、xlutils模塊,xlutils模塊用來修改excel的內容,不能直接修改原來的excel內容,必須得先複製一個新的excel,而後對這個新的excel進行修改,用法以下:code
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的