当前位置:   article > 正文

已解决AttributeError: ‘function‘ object has no attribute ‘font‘_fontmanager' object has no attribute 'addfont

fontmanager' object has no attribute 'addfont

已解决(Python xlwt写入Excel报错)AttributeError: ‘function‘ object has no attribute ‘font‘



报错代码

粉丝群里的一个小伙伴,想用Python写入Excel文件的时候设置了Excel格式报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),代码如下:

def body_style():
    # 一、创建一个样式对象,初始化样式 style
    style = xlwt.XFStyle()  # Create Style对象

    # 二、字体风格设置
    font = xlwt.Font()  # Create Font对象
    font.name = "SimSun"  # 设置字体类型,宋体
    font.colour_index = 4  # 设置字体颜色
    font.height = 20 * 12  # 字体大小,12为字号,20为衡量单位
    font.bont = True  # 设置字体加粗
    font.underline = True  # 下划线
    font.italic = True  # 斜体字

    # 三、设置好之后,全部都加到style上
    style.font = font
    return style


import xlwt

data_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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

报错信息截图

在这里插入图片描述


报错翻译


报错信息翻译:“函数”对象没有“字体”属性


报错原因


报错原因:在使用xlwt写入数据时,在传入XFStyle格式的样式时,不要使用函数名调用写入



解决方法


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

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

再次运行代码成功:


在这里插入图片描述


以上是此问题报错原因的解决方法,欢迎评论区留言讨论是否能解决,如果有用欢迎点赞收藏文章谢谢支持,博主才有动力持续记录遇到的问题!!!

千人全栈VIP答疑群联系博主帮忙解决报错

由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复,所以优先回复VIP粉丝,可以通过订阅限时9.9付费专栏《100天精通Python从入门到就业》进入千人全栈VIP答疑群,获得优先解答机会(代码指导、远程服务),白嫖80G学习资料大礼包,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

  • 优点作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会),此专栏文章是专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试!

  • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等

  • 注意:如果希望得到及时回复,订阅专栏后私信博主进千人VIP答疑群在这里插入图片描述
    在这里插入图片描述

免费资料获取,更多粉丝福利,关注下方公众号获取

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/948329
推荐阅读
相关标签
  

闽ICP备14008679号