python操作excel
一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。
二、xlrd模块,xlrd模块用来读excel,具体用法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | importxlrd #打开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) #打印每行信息 forrownuminrange(sheet.nrows):#循环取每行的数据 print(sheet.row_values(rownum))#取每行的数据 #按照索引打印对应单元格内容 cell_A2=sheet.cell(0,1).value#获取指定单元格的值,第一个值是列,第二个值是行 print(cell_A2) |
三、xlwt模块,xlwt模块用来写excel,写一个新的excel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | importxlwt 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') foriinrange(len(title)):#写入表头 sheet.write(0,i,title[i])#写入每行,第一个值是行,第二个值是列,第三个是写入的值 foriinrange(len(stus)): ifi!=0:#如果不是表头的话 forjinrange(4): sheet.write(i,j,stus[i][j])#循环写入每行数据 #保存数据到‘test.xls’文件中 wbk.save('szz.xls')#保存excel必须使用后缀名是.xls的,不是能是.xlsx的 |
四、xlutils模块,xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:
1 2 3 4 5 6 7 8 9 10 11 | fromxlrd importopen_workbook#导入xlrd模块中打开excel模块 fromxlutils.copyimportcopy#导入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的 |