openpyxl
每个单元格只能读取和写入一种字体颜色
xlwriter
支持多种字体颜色,但仅用于书写,不用于阅读
xlwt
也只用于写作
xlwings
根据他们的文档不支持富文本
xlrd
显然支持根据这个thread从单元格中读取“富文本”数据,但是我无法在他们的API规范中找到合适的方法,而且他们的documentation中没有关于这个AFAIK的文章
最重要的是,这个项目是unmaintained,并且热衷于使用openpyxl
看来我已经走到了死胡同
您知道在python中是否可以从这样的单元格中检索完整的数据:
特别是完整样式数据,即沿单元格字符串使用的不同颜色和格式(粗体等)
非常感谢你的帮助
PS:如果你知道如何通过GoogleSheetAPI使用GoogleSheet,那对我来说也可以。(甚至是.odt
格式)
我遇到了同样的问题。我需要在一些富文本单元格中找到红色的文本跨度。在深入研究openpyxl(v3.0.9)的源代码之后,我发现了它do parse the rich-text tags,但是格式是stripped by the reader,因为} 属性在^{} 函数中使用
Text
对象的^{因此,我编写了一个简单的修补程序脚本来覆盖
read_string_table
函数,以便在存在格式化文本时返回原始Text
对象。修改的read_string_table
函数如下所示完整的补丁脚本在here中提供。在直接导入任何openpyxl模块之前,需要导入它并调用
patch_read_string_table
函数。应用此修补程序后,富文本单元格的value
将是一个Text
对象,其中包含您需要的所有样式信息根据您的使用情况,这可能不是最好的解决方案,但它会向您显示格式的剥离位置以及如何恢复格式。我希望可以提出一个更优雅的解决方案,并最终在将来合并到官方代码中
相关问题 更多 >
编程相关推荐