1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 已解决ValueError: More than 4094 XFs (styles)

已解决ValueError: More than 4094 XFs (styles)

时间:2020-12-27 08:01:58

相关推荐

已解决ValueError: More than 4094 XFs (styles)

已解决(Python xlwt写入Excel样式报错)ValueError: More than 4094 XFs (styles)

文章目录

报错代码报错翻译报错原因解决方法

报错代码

我的代码设置Excel表格样式写入:

import xlwtdef body_style():# 一、创建一个样式对象,初始化样式 stylestyle = xlwt.XFStyle() # Create Style对象# 二、边框设置borders = xlwt.Borders() # 创建边框对象# 上下左右都添加边框borders.left = 1borders.right = 1borders.top = 1borders.bottom = 1# 三、设置好之后,全部都加到style上style.borders = bordersreturn styledata_list = [('小白', '20', '男'), ('小黑', '21', '男'), ('小红', '20', '女')]# 1. 创建Excel表对象workbook = xlwt.Workbook(encoding='utf8')# 2. 新建sheet表worksheet = workbook.add_sheet('Sheet1')# 3. 自定义列名col1 = ('姓名', '年龄', '性别')# 4. 将列属性元组col写进sheet表单中第一行for i in range(0, len(col1)):worksheet.write(0, i, col1[i], body_style())# 5. 将数据写进sheet表单中for i in range(0, len(data_list)):data = data_list[i]for j in range(0, len(col1)):worksheet.write(i + 1, j, data[j], body_style())# 6. 保存文件分两种格式workbook.save('test.xls')

报错信息:

报错翻译

报错信息翻译

数值误差:超过4094款XFs(款式)

报错原因

报错原因:在使用xlwt写入数据时,在传入XFStyle格式的样式时,不要使用匿名函数调用写入,否则写入4094个数据后就会超过阈值,报错:ValueError: More than 4094 XFs (styles)

解决方法

写入数据时不要使用sheet.write(0, 0, '数据', body_style(0))这种方式,修改代码为:

style = body_style() # 把样式函数赋值sheet.write(0, 0, '数据', style ) # 在写入数据时不调用函数,而是传入值

再次运行代码成功:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。