1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > pandas如何根据Excel单元格背景颜色筛选

pandas如何根据Excel单元格背景颜色筛选

时间:2023-02-14 22:58:56

相关推荐

pandas如何根据Excel单元格背景颜色筛选

解决方法

1、使用StyleFrame(包装 pandas),您可以将 excel 文件读入数据框,而不会丢失样式数据。

考虑以下工作表:

在此处输入图像描述

以及以下代码:

from styleframe import StyleFrame, utils# from StyleFrame import StyleFrame, utils (if using version < 3.X)sf = StyleFrame.read_excel('test.xlsx', read_style=True)print(sf)#b p y#0 nan 3 1000.0#1 3.0 42.0#2 4.0 5 42902.72396767148sf = sf[[col for col in sf.columnsif col.style.fill.fgColor.rgb in ('FFFFFFFF', utils.colors.white)]]# "white" can be represented as 'FFFFFFFF' or# '00FFFFFF' (which is what utils.colors.white is set to)print(sf)#b# 0 nan# 1 3.0# 2 4.0

参考链接:

python - Reading an excel with pandas basing on columns' colors - Stack Overflow 正在上传…重新上传取消 /questions/44861989/reading-an-excel-with-pandas-basing-on-columns-colors

或者

这个需求估计直接用openpyxl可能更有可行性

比如:

import openpyxl#打开名为fileName的工作簿workbook = openpyxl.load_workbook(fileName)#选择名为sheetName的表单worksheet = workbook[sheetName]#获取当前表单中单元格的行列数rows, cols = worksheet.max_row, worksheet.max_columntest = []#遍历。仅示例行for i in range(rows):#这里要注意一下,行列都是从1开始计数的ce = worksheet.cell(row=i+1, column=6)fill = ce.fill#可以试着print一下每个单元格的颜色,对照excel文件,选取需要的颜色# print(fill.start_color.rgb) #我这里选择的是绿色和黄色if fill.start_color.rgb == "FF92D050" or fill.start_color.rgb == "FFFFFF00":print(ce.value)test.append(ce.value)

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