【转】python3 对excel读、写、修改的操作

一、对excel的写操作实例:

将一个列表的数据写入excel, 第一行是标题,下面行数具体的数据

复制代码
 1 import xlwt
 2 #只能写不能读  3 stus = [['姓名', '年龄', '性别', '分数'],  4 ['mary', 20, '', 89.9],  5 ['mary', 20, '', 89.9],  6 ['mary', 20, '', 89.9],  7 ['mary', 20, '', 89.9]  8  ]  9 book = xlwt.Workbook()#新建一个excel 10 sheet = book.add_sheet('case1_sheet')#添加一个sheet页 11 row = 0#控制行 12 for stu in stus: 13 col = 0#控制列 14 for s in stu:#再循环里面list的值,每一列 15  sheet.write(row,col,s) 16 col+=1 17 row+=1 18 book.save('stu_1.xls')#保存到当前目录下
复制代码

二、对excel 的读操作:

复制代码
 1 import xlrd
 2 #只能读不能写  3 book = xlrd.open_workbook('stu.xls')#打开一个excel  4 sheet = book.sheet_by_index(0)#根据顺序获取sheet  5 sheet2 = book.sheet_by_name('case1_sheet')#根据sheet页名字获取sheet  6 print(sheet.cell(0,0).value)#指定行和列获取数据  7 print(sheet.cell(0,1).value)  8 print(sheet.cell(0,2).value)  9 print(sheet.cell(0,3).value) 10 print(sheet.ncols)#获取excel里面有多少列 11 print(sheet.nrows)#获取excel里面有多少行 12 print(sheet.get_rows())# 13 for i in sheet.get_rows(): 14 print(i)#获取每一行的数据 15 print(sheet.row_values(0))#获取第一行 16 for i in range(sheet.nrows):#0 1 2 3 4 5 17 print(sheet.row_values(i))#获取第几行的数据 18 19 print(sheet.col_values(1))#取第一列的数据 20 for i in range(sheet.ncols): 21 print(sheet.col_values(i))#获取第几列的数据
复制代码

三、对excel的修改操作:

将excel中的某个值修改并重新保存

复制代码
from xlutils.copy import copy
import xlrd
#xlutils:修改excel book1 = xlrd.open_workbook('stu.xls') book2 = copy(book1)#拷贝一份原来的excel # print(dir(book2)) sheet = book2.get_sheet(0)#获取第几个sheet页,book2现在的是xlutils里的方法,不是xlrd的 sheet.write(1,3,0) sheet.write(1,0,'hello') book2.save('stu.xls')
复制代码

猜你喜欢

转载自www.cnblogs.com/ldyj/p/10453003.html