在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')