在Python中,操作excel有三种方式,分别为读取excel,写excel,修改excel
读excel
读excel,是使用的xlrd模块,在Python内置模块中,没有包含,需要自己手动安装
安装过程我就不详细介绍了,可以通过pip install xlrd方式直接安装好
导入模块
import xlrd
在读excel模块中,常用的函数如下
首先,打开一个excel
book = xlrd.open_workbook('user.xls') #打开一个excel文件
获取sheet页,有三种方法,如下
sheet = book.sheet_by_index(0) #通过索引顺序获得sheet页
sheet1= book.sheets()[0] #通过索引顺序获得sheet页
sheet2= book.sheet_by_name('sheet1') #通过sheet页名称获得
excel常用的读操作如下
print(sheet.cell(0,0).value) #指定sheet页面里边的行和列的数据
print(sheet.cell(0,2).value) #指定sheet页面里边的行和列的数据
print(sheet2.row_values(0)) #获取指定某行的数据
print(sheet2.col_values(0)) #获取指定某列的数据
print(sheet.nrows) #获取到excel里边总共有多少行
print(sheet.ncols) #获取到excel里边总共多少列
#循环读取每行数据,循环得到的是将每行数据,放到一个list中
for i in range(sheet.nrows): #循环获取到每行数据
print(sheet.row_values(i))
写excel
写excel,是使用的xlwd模块,在Python内置模块中,没有包含,需要自己手动安装
导入模块
import xlwd
在写excel模块中,常用的函数如下
首先,新建一个excel
book = xlwt.Workbook() #新建一个excel
然后再excel 中添加一个sheet页
sheet=book.add_sheet('sheet1') #添加一个sheet页面
然后再excel中进行写操作
sheet.write(0,0,'姓名') #行、列、写入的内容
sheet.write(0,1,'年龄')
sheet.write(0,2,'性别')
循环写入
list = ['小明','小红','小黑']
[sheet.write(0,i,j) for i,j in enumerate(list)] #列表生成式,先循环list,然后sheet.write循环写入内容
#enumerate函数是将i从0开始自动加1,然后获取list中的每个元素
最后编辑完成之后,保存excel,记住,保存excel 的时候,一定要用.xls结尾
book.save('stu.xls') #结尾一定要用.xls
修改excel
修改excel,是使用的xlutils模块,在Python内置模块中,没有包含,需要自己手动安装
首先在使用xlutils模块的之前,先用xlrd模块,打开一个excel
导入模块
import xlrd #导入xlrd模块,打卡一个excel
from xlutils import copy #导入xlutils中的copy函数
读取excel
book = xlrd.open_workbook('user.xls') #先用xlrd模块,打开一个excel
然后使用xlutils模块中的copy函数,复制一个excel出来
new_book = copy.copy(book) #通过xlutils这个模块里面copy方法,复制一份excel
获取sheet页
sheet = new_book.get_sheet(0) #获取sheet页
然后进行写操作
lis = ['编号','名字','性别','年龄','地址','班级','手机号','金币']
for col,filed in enumerate(lis):
sheet.write(0,col,filed)
最后保存excel,记住,保存excel 的时候,一定要用.xls结尾
new_book.save('app_student.xls')