【2】Python操作Excel:xlwt、xlrd 、xlutils、openpyx模块
import xlwt #写excel import xlrd #读excel import xlutils #修改excel
一、写操作
1、写Excel
import xlwt #写excel,导入模块 book = xlwt.Workbook(encoding='utf-8')# 创建一个Workbook对象,这就相当于创建了一个Excel文件 sheet = book.add_sheet('sheet1')#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。其中的sheet1是这张表的名字。 sheet.write(0,0,'id')# 其中的'0-行, 0-列'指定表中的单元,'id'是向该单元写入的内容 sheet.write(0,1,'username') sheet.write(0,2,'password') sheet.write(1,0,'1') sheet.write(1,1,'niuhanyang') sheet.write(1,2,'123456') book.save(r'e:\test1.xls')# 最后,将以上操作保存到指定的Excel文件中
2、如何写一个表
我们有下面这一张表,怎样写到excle中呢,可以用到二层循环。
stus = [ [1,'njf','1234'], [2,'xiaojun','1234'], [3,'hailong','1234'], [4,'xiaohei','1234'], [5,'xiaohei','1234'], [6,'xiaohei','1234'], [7,'xiaohei','1234'], [8,'xiaohei','1234'], [9,'xiaohei','1234'], ]
line = 0 #定义一个变量,控制的是行,循环一次行加1 for stu in stus:#行 第一层循环 #stu [1,'njf','1234'] col = 0 #控制lie for s in stu: #第二层循环 sheet.write(line, col, s) #0 0 1 #0 1 njf #0 2 1234 # 1 0 2 # 1 1 xiaojun # 1 2 1234 col+=1 #控制lie line+=1 book.save('stu.xls')# 保存
二、读操作
import xlrd #读excel,导入模块 book = xlrd.open_workbook('stu.xls')#打开XLS文件 sheet = book.sheet_by_index(0)# 方法1,通过sheet索引获得sheet对象 sheet = book.sheet_by_name('sheet1') # 方法2,根据名字获得 print(sheet.nrows) #获取总行数 print(sheet.ncols) #获取宗列数 print(sheet.cell(0,0).value) #获取到指定单元格的内容 print(sheet.cell(0,1).value) #获取到指定单元格的内容 print(sheet.row_values(0))# 获得第1行的数据列表 print(sheet.col_values(0))# 获得第1列的数据列表 for i in range(sheet.nrows):#循环获取每行的内容 print(sheet.row_values(i))
三、修改操作
from xlutils import copy #导入模块 book = xlrd.open_workbook('stu.xls')#先用xlrd打开一个Excel new_book = copy.copy(book)#然后用xlutils里面的copy功能,复制一个Excel sheet = new_book.get_sheet(0)#获取sheet页,第1张表 sheet.write(0,1,'倪菊芳')#修改指定内容 sheet.write(1,1,'白小军') new_book.save('stu.xls')#保存