Python openpyxl读取单元格字体颜色过程解析


Posted in Python onSeptember 03, 2019

问题

我试图打印some_cell.font.color.rgb并得到各种结果。

对于一些人,我得到了我想要的东西(比如“ FF000000”),但对于其他人,它给了我Value must be type 'basetring'。我假设后者是因为我实际上没有为这些单元格定义字体颜色。

我正在使用openpyxl 2.2.2

解决方案

我认为这是openpyxl中的一个错误,我认为你应该在这里报告。

调试以下代码(当然使用trepan3k):

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
c = ws['A4'] # cell gets created here
print(ws['A4'].font.color)

我明白了:

Color(rgb=Value must be type 'str', indexed=Value must be type 'int', auto=Value must be type 'bool', theme=1, tint=0.0, type='theme')

这来自文件中类Typed()的_repr_()openpyxl/descriptors/base.py。未初始化值时会给出此消息。请注意,“indexed”和“auto”也未设置。

但是这些应该ws['a4']是在执行访问代码时设置的。

注意:消息中的细微差别:'str'而不是'basestring'可能归因于我使用Python 3或不太可能使用openpyxl 2.2.3

如果我应该在我的示例中添加其他一些额外的代码,那么至少https://openpyxl.readthedocs.org/en/latest/index.html应该表明这一点。

另请参见openpyxl单元格样式未正确报告其中一个开发人员似乎在这么多单词中说同样的事情。

编辑:

其他一些事情可能值得关注。首先,您可以设置一个值然后读取它,例如您可以这样做:

c.font.color.rgb = "FF000000"

其次,如果您c.font.color.rgb在布尔值中测试,它将看起来像已设置的值。那是

if c.font.color: print("yes")

将打印“是”。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之使用Python操作数据库(1)
Nov 25 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
Apr 01 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
python调用matlab的m自定义函数方法
Feb 18 Python
Python 实现交换矩阵的行示例
Jun 26 Python
python zip,lambda,map函数代码实例
Apr 04 Python
python 读txt文件,按‘,’分割每行数据操作
Jul 05 Python
Python是怎样处理json模块的
Jul 16 Python
python爬虫智能翻页批量下载文件的实例详解
Feb 02 Python
详解Python中openpyxl模块基本用法
Feb 23 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 #Python
python实现静态web服务器
Sep 03 #Python
Python的Lambda函数用法详解
Sep 03 #Python
Python获取一个用户名的组ID过程解析
Sep 03 #Python
python多线程实现TCP服务端
Sep 03 #Python
Python实现多线程/多进程的TCP服务器
Sep 03 #Python
python+selenium 点击单选框-radio的实现方法
Sep 03 #Python
You might like
超级简单的发送邮件程序
2006/10/09 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP微信红包生成代码分享
2016/10/06 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
laravel实现上传图片,并且制作缩略图,按照日期存放的代码
2019/10/16 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
js继承的实现代码
2010/08/05 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
python连接MySQL、MongoDB、Redis、memcache等数据库的方法
2013/11/15 Python
python实现2014火车票查询代码分享
2014/01/10 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
wxPython实现画图板
2020/08/27 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
我有一个char * 型指针正巧指向一些int 型变量, 我想跳过它们。 为什么如下的代码((int *)p)++; 不行?
2013/05/09 面试题
什么是Remote Module
2016/06/10 面试题
小学母亲节活动方案
2014/03/14 职场文书
社区娱乐活动方案
2014/08/21 职场文书
人事代理委托书
2014/09/27 职场文书
欢迎词范文
2015/01/27 职场文书
2014年底个人工作总结
2015/03/10 职场文书
外贸英文求职信范文
2015/03/19 职场文书
公诉意见书范文
2015/06/05 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL