1、python操做excel,python操做excel使用xlrd、xlwt和xlutils模塊,xlrd模塊是讀取excel的,xlwt模塊是寫excel的,xlutils是用來修改excel的。這幾個模塊使用pip安裝便可,下面是這幾個模塊的使用。python
2、xlrd模塊,xlrd模塊用來讀excel,具體用法以下: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)
3、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的
4、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的