这里将要写入的字典类型info,写入excel
主要是xlrd,xlrd,xlutils的应用,实现追加写入,存之前,先删后存
- os.remove(file_name)
- os.save(file_name)
import xlrd
import xlwt
import xlutils
from xlrd import open_workbook
from xlutils.copy import copy
def write_excel(info_dict,table_name):
# 实现追加写
# 这里注意,调用函数时,待写入的数据必须不一样,不然拒绝写入
file_name = table_name+'.xls'
try:
rexcel = open_workbook(file_name) # 用wlrd提供的方法读取一个excel文件
cur_rol = rexcel.sheets()[0].nrows # 用wlrd提供的方法获得现在已有的行数
print("Test => cur_rol:",cur_rol)
excel = copy(rexcel) # 用xlutils提供的copy方法将xlrd的对象转化为xlwt的对象
data_sheet = excel.get_sheet(0) # 用xlwt对象的方法获得要操作的sheet
except FileNotFoundError:
# 没有该文件则新建表
excel = xlwt.Workbook(encoding='utf-8')
#创建sheet
data_sheet = excel.add_sheet(table_name)
cur_rol=1
# data_sheet.col(2).width = (3000) # 设置表格的宽度
# data_sheet.row(0).height = (1000) # 设置表格的高度
for col,title in enumerate(info_dict.keys()):
data_sheet.write(0,col,title)
# data_sheet.write(0,col,title,set_style('楷体', 220, True))
for col,value in enumerate(info_dict.values()):
data_sheet.write(cur_rol,col,value)
try:
# 注意,这里保存前,一定要先删除之前的表
os.remove(file_name)
except Exception as e:
pass
excel.save(file_name)