import xlrd
from xlutils.copy import copy # 导入xlutils库copy模块下的copy函数
wb = xlrd.open_workbook('excel.xls') # 读取文件
nwb = copy(wb) # 复制文件
ws1 = nwb.get_sheet(0) # 用索引号读取文件的第一个工作表
ws2 = nwb.get_sheet('Sheet1') # 用名称读取文件的Sheet1表
ws3 = nwb.add_sheet('Sheet2') # 在文件中新建工作表
ws3.write(0,0,'总计') # 将数据写入单元格
ws3.write(0,1,'12000') # 将数据写入单元格
nwb.save('excel.xls') # 保存文件
from xlutils.copy import copy
表示导入xlutils库copy模块下的copy函数
如果使用import方式导入
应写为
import xlrd
import xlutils.copy
wb = xlrd.open_workbook('excel.xls') # 读取文件
nwb = xlutils.copy.copy(wb) # 复制文件
复制文件
将读取的wb文件复制给nwb文件,nwb文件此时与wb文件相同。
由于使用了xlutils库的copy函数,所以此时控制权已交给xlwt,也就是可以对nwb文件执行xlwt库的写入操作。虽然没有使用import xlwt
方式导入,但是xlwt库必须存在,否则代码运行会出错。
读取工作表
ws1 = nwb.get_sheet(0)
ws2 = nwb.get_sheet('Sheet1')
可以通过索引值和名称两种方法读取表并赋值给对应变量,也可以直接对单元格对象进行写入操作
新建工作表
ws3 = nwb.add_sheet('Sheet2')
在当前文件下新建一个工作表,如果已经有这个表,将会报错
写入数据
ws3 = write(0,0,'总计')
ws3 = weite(0,1,12000)
在对应位置写入数据
保存文件
nwb.save('excel.xls')
如果与读取的文件名相同,则替换原来的文件。如果源文件未关闭,将会报错
其他
get_sheet
、add_sheet
、write
、save
都是xlwt库中的方法