python学习笔记(十八)python操作excel
python操作excel需要安装通过pip安装xlwt, xlrd这两个模块:
pip install xlwt
pip insall xlrd
操作excel ,写入excel:
1 import xlwt 2 book=xlwt.Workbook()#新建一个excel 3 sheet=book.add_sheet('sheet1')##添加一个sheet页 4 sheet.write(0,0,'姓名') 5 sheet.write(0,1,'性别') 6 sheet.write(0,2,'年龄') 7 book.save('stu.xls')##不能用xlsx结尾,微软的不能用xlsx结尾office,wps的随便 8 9 title = ['姓名','年龄','性别','分数'] 10 stus = [['mary', 20, '女', 89.9], 11 ['mary', 20, '女', 89.9], 12 ['mary', 20, '女', 89.9], 13 ['mary', 20, '女', 89.9]] 14 15 cols=0 16 for t in title: 17 sheet.write(0,cols,t) 18 cols+=1 19 row=1 20 for stu in stus: 21 new_cols=0: 22 for s in stu: 23 sheet.write(row,new_cols,s) 24 new_cols+=1 25 row+=1 26 book.save('stu.xls')
读取excel:
1 import xlrd 2 book=xlrd.open_workbook('stu.xls')#打开一个excel 3 sheet=book.sheet_by_index(0)#根据顺序获取sheet页 4 #sheet=book.sheet_by_name('sheet1')#根据sheet页名字 5 print(sheet.cell(0,0).value)#指定行和列获取数据 6 print(sheet.cell(0,1).value) 7 print(sheet.cell(0,2).value) 8 print(sheet.cell(0,3).value) 9 print(sheet.ncols)#获取excel里有多少列 10 print(sheet.nrows)#获取excel里有多少行 11 sheet.row_values(1)#取第几行的数据 12 for i in range(sheet.nrows): 13 print(sheet.row_values(i))#取第几行的数据 14 for i in range(sheet.ncols): 15 print(sheet.col_values(i))#取第几列的数据
修改excel:
1 from xlutils.copy import copy 2 import xlrd 3 book1=xlrd.open_workbook('stu.xls') 4 book2=copy(book1)#拷贝一份原来的excel 5 sheet=book2.get_sheet(0)#获取第几个sheet页 6 sheet.write(1,3,0) 7 sheet.write(1,0,'xiaohei') 8 book2.save('stu.xls')#可以写不同的名字,直接生成一个excel;如果写相同的名字,则直接修改,覆盖之前的内容。