python使用xlwings识别excel中带颜色的单元格

有如下一个excel表

 有些单元格是带颜色的。现在要统计带颜色单元格的数量。

在我的这篇文章中介绍了一种方法统计excel中带颜色的单元格的数量以及求和问题_小小爬虾的博客-CSDN,今天用python和xlwings来编程实现。

import xlwings as xw
app = xw.App(visible=False)  # 隐藏Excel
wb = app.books.open('单元格带颜色.xlsx')  # 打开工作簿
sht = wb.sheets['Sheet1']  # 实例化工作表#每个单元格的背景颜色
rows, cols = sht.used_range.shape#返回使用的总行数、总列数的元组
print(rows)#总行数
print(cols)#总列数cell_color_list=[]
for row in range(0, rows):for col in range(0,cols):cell_color = sht[row,col].colorprint(cell_color)cell_color_list.append(cell_color)print(cell_color_list)
print(len(cell_color_list))
count=cell_color_list.count(None)
print(count)wb.close()
app.quit()

结果:

说明:

一、经测试,单元格的颜色这个属性不能像值,一次性整列编程弄出来。必须用循环,定位到每个单元格后获取颜色情况。

columnd_data = sht.range('A1:C%s' % rows_count).value#是可以的

columnd_color_data = sht.range('A1:C%s' % rows_count).color#是不行的

二、列表中含有某个元素的个数

使用List.count(指定元素)来实现。

如count=cell_color_list.count(None)#单元格没有颜色即为None,这里统计列表中None的个数


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部