python进阶3-操作excel
参考:https://www.cnblogs.com/R-bear/p/15025822.html
一、python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。
二、xlrd模块,xlrd模块用来读excel,具体用法如下:
[](javascript:void(0); "复制代码")
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)
[](javascript:void(0); "复制代码")
三、xlwt模块****,xlwt模块用来写excel,写一个新的excel
[](javascript:void(0); "复制代码")
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的
[](javascript:void(0); "复制代码")
四、xlutils模块,xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:
[](javascript:void(0); "复制代码")
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的
[](javascript:void(0); "复制代码")
python操作excel