python在excel中填充色阶,excel表格里填充颜色
这篇文章主要介绍了大蟒实现对超过中需要的数据的单元格填充颜色,文章围绕主题展开详细单元格填充介绍,具有一定的参考价值,需要的小伙伴可以参考一下
前言:
一般处理数据使用的是熊猫和数组库,但是填充单元格颜色需要在超过中,使用的是安装库,所以不能直接达到我们的需求,需要进行两个库的链接使用,先说下openpyxl填充色,pandas是直接读取数据,但是openpyxl则不是,必须要sheet处于active状态,而且必须进行表选择才可以读取数据
导入安装
从安装导入加载_工作簿
# 比如打开test.xlsx
WB=load _ work(filename= test。xlsx’)
# 使用第一个表作为工作簿
work=wb[wb.sheetnames[0]]
openpyxl填充色说明
调用安装中PatternFill
纯色填充使用solid
导入安装
从openpyxl.styles导入模式填充
#根据上面的工作进行单元格选择
# 设置样式(填充色)
# 颜色必须使用十六进制十六进制并且没有#符号列举为黄色
fill=PatternFill(solid ,fgColor=FFFF00 )
# 填充D4为为黄色
d4=工作[《D4》]
d4.fill=填充
面临一个问题,我们需要创建超过的列,比如甲、乙、丙等等
使用大蟒产生26个英文字母。并进行组合
导入数学
导入字符串
定义周期_字母(排列,级别):
导入字符串
list1=string.ascii _大写
tempArr=[]
letterArr=[i for i in list1]
arrNum=len(arr)
如果(级别==0或数组==0):
回函
对于范围内的索引:
对于letterArr:中的字母
tempArr.append(arr[index]字母)
返回tempArr
def reduce _ excel _ col _ name(num):
tempVal=1
级别=1
而(临时值):
tempVal=num/(math.pow(26,level))
if(tempVal1):
级别=1
else:
破裂
excelerr=[]
tempArr=[]
对于范围(级别):中的索引
tempArr=cycle_letter(tempArr,index)
对于范围内的numIndex(len(tempArr)):
if(len(exceler)num):
excel arrappend(tempArr[numIndex])
else:
返回excelArr
返回excelArr
可以填充数字,产生所需要的超过列例:产生31个
案例:
这个是我们的数据:
现在需要把所有大于50(不包含50)的数字,进行黄色标注
# 导入所需的库
导入数学
导入字符串
导入安装
进口熊猫作为螺纹中径
从安装导入加载_工作簿
# 如上图,一共10列,从0到9
# 产生为10的超过对应的列
定义周期_字母(排列,级别):
list1=string.ascii _大写
tempArr=[]
letterArr=[i for i in list1]
arrNum=len(arr)
如果(级别==0或数组==0):
回函
对于范围内的索引:
对于letterArr:中的字母
tempArr.append(arr[index]字母)
返回tempArr
def reduce _ excel _ col _ name(num):
tempVal=1
级别=1
而(临时值):
tempVal=num/(math.pow(26,level))
if(tempVal1):
级别=1
else:
破裂
excelerr=[]
tempArr=[]
对于范围(级别):中的索引
tempArr=cycle_letter(tempArr,index)
对于范围内的numIndex(len(tempArr)):
if(len(exceler)num):
excel arrappend(tempArr[numIndex])
else:
返回excelArr
返回excelArr
# 保存到宪章_列表
charter _ list=reduce _ excel _ col _ name(10)
# 循环数据选出所有50的数字
# 并取出指数和列索引并保存到超过中
a=[]
b=[]
对于范围内的我(len(数据。值)):
对于数据值[i]:中的英语字母表的第25个字母
如果y 50:
# 获取行数
答。附录(一)
# 获取列数
a.append(data.values[i].tolist()。指数(y))
b .追加(a)
a=[]
#列表中的第一个数字代表行,第二个数字代表列。
#使用第二个数字,而不是charter_list生成的数字
#因为列表的第二个数字对应的是charter_list的索引。
对于b:中的I
i[1]=charter_list[i[1]]
#这里需要注意的是,excel都是从1开始的,所以我们的第一个数字
#行数需要1,但是因为有列名0,1,2,3到9,所以需要加一个2。
对于b:中的I
i[0]=i[0] 2
#把列表改成 A2 , C2 ,符合excle的习惯
list _ color _ all=[x[1]str(x[0])for x in b]
#使用load_workbook加载excel数据进行颜色填充。
WB=load _ workbook(filename= excel _ col . xlsx )
work=wb[wb.sheetnames[0]]
fill=PatternFill(solid ,fgColor=FFFF00 )
对于list_color_all:中的I
工作[我]。填充=填充
wb.close()
wb.save(excel_col.xlsx )
运行截图:
关于excel中需要的数据用python实现单元格颜色填充的这篇文章到此为止。关于python对excel单元格颜色填充的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。