Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >盘点一个Python自动化办公颜色填充的问题(方法一)

盘点一个Python自动化办公颜色填充的问题(方法一)

作者头像
前端皮皮
发布于 2023-08-17 01:45:30
发布于 2023-08-17 01:45:30
37800
代码可运行
举报
运行总次数:0
代码可运行

大家好,我是皮皮。

一、前言

前几天在Python青铜群【不过如此】问了一个Python自动化办公颜色填充的问题,一起来看看吧。

下面是他的代码,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from openpyxl import Workbook
from openpyxl.styles import GradientFill

wb = Workbook()
ws = wb.active

# 创建一个色阶格式
gradient1 = GradientFill(stop=("FF0000", "FFFFFF"))
gradient11 = GradientFill(stop=("FF0000", "FFFFFF"))
gradient2 = GradientFill(stop=("FFFFFF", "00FF00"))
gradient22 = GradientFill(stop=("FFFFFF", "00FF00"))
# 将B1的背景色设置为双色色阶格式
ws["B1"].fill = gradient1
ws["B2"].fill = gradient11
ws["A3"].fill = gradient2
ws["A4"].fill = gradient22

wb.save("sample.xlsx")

想要做出这种数据填充的效果。

二、实现过程

这里【甯】大佬给了一个代码答案,如下图所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*-
# @Time : 2023-07-28 11:30
# @Author : 甯
# @File : excel_fill_color.py
# @Software: PyCharm
from openpyxl import load_workbook
from openpyxl.styles import GradientFill
from openpyxl.styles.fills import Stop
from openpyxl.styles import Font


def color_set(length, cell, fill_color, font_color):
    color = GradientFill(degree=180, stop=(Stop("ffffff", length), Stop(fill_color, 1)))
    cell.fill = color
    cell.font = Font(color=font_color)


def color_length(cell_value, cell_name):
    if cell_value != 0:
        flag1 = abs(cell_value) > 1
        flag2 = cell_value > 0
        length = {
            False: (1 * 10000 - abs(cell_value) * 10000) / 10000,
            True: 0
        }[flag1]
        color = {
            True: [length, cell_name, 'ff0000', 'cd3333'],
            False: [length, cell_name, '00ff00', '008b00']
        }[flag2]
        color_set(*color)
    cell_name.value = f'{cell_value:.2%}'


def color_fill(ws,excel_cell):
    cell_value = excel_cell.value
    cell_name = ws[excel_cell.coordinate]
    color_length(cell_value, cell_name)


def main():
    wb = load_workbook('股票.xlsx')
    ws = wb.active
    ws.column_dimensions['c'].width = 10
    for c in filter(None, ws.iter_rows(min_row=2, min_col=3, max_col=3)):
        cell = c[0]
        color_fill(ws, cell)
    wb.save("sample.xlsx")


if __name__ == '__main__':
    main()

代码运行之后,可以得到预期的效果。

看上去还是蛮高大上的。下一篇文章,我们分享另外一个做法,一起看看吧,敬请期待!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公颜色填充的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【不过如此】提问,感谢【甯】给出的思路和代码解析,感谢【冯诚】等人参与学习交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python共享之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
官方文档:https://xlrd.readthedocs.io/en/latest/
Python小二
2020/09/08
8.1K0
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
python自动化办公——python操作Excel、Word、PDF集合大全
本文是鉴于有些粉丝的工作需求,有时候需要遇到这些文件的处理。因此,我写了一个文章集合,供大家参考,整篇文章已经整理成册(如下图所示)。由于文档获取人数太多,大家如有需求,请关注公众号:【数据分析与统计学之美】,回复关键词:【自动化文档】!
用户7886150
2021/01/24
2K0
Python自动化办公 | 如何实现报表自动化?
今天给大家分享一篇俊红新书《对比Excel,轻松学习Python报表自动化》中关于报表自动化实战的内容,文末也会免费赠送几本新书。
朱小五
2021/10/18
2.6K0
Python自动化办公 | 如何实现报表自动化?
超超长篇 - 手把手带你用python玩转Excel
gitee:https://gitee.com/xiaozai-van-liu/mwj_utils
梦无矶小仔
2024/06/18
1.1K0
超超长篇 - 手把手带你用python玩转Excel
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
上一篇文章中,我们聊到使用 xlrd、xlwt、xlutils 这一组合操作 Excel 的方法
AirPython
2020/11/03
1.7K0
最全总结 | 聊聊 Python 办公自动化之 Excel(中)
python处理Excel实现自动化办公教学(含实战)【二】
python处理Excel实现自动化办公教学(数据筛选、公式操作、单元格拆分合并、冻结窗口、图表绘制等)【三】
汀丶人工智能
2022/12/21
1.8K0
python处理Excel实现自动化办公教学(含实战)【二】
不吹不黑!Python办公自动化,全网最全整理!
官方文档:https://xlrd.readthedocs.io/en/latest/
释然IT杂谈
2023/08/18
1.7K0
不吹不黑!Python办公自动化,全网最全整理!
Python批量修改Excel文件格式:加粗、颜色交替、渐变背景色填充
功能描述:首先生成几个测试用的Excel文件,然后批量修改这些文件的格式,把表头加粗并设置为黑体,其他行字体为宋体,设置奇偶行颜色不同,并设置偶数行为从红到蓝的渐变背景色填充。 from random import sample import openpyxl from openpyxl.styles import Font, colors def generateXlsx(num): for i in range(num): wb = openpyxl.Workbook()
Python小屋屋主
2018/04/16
2.7K0
Python批量修改Excel文件格式:加粗、颜色交替、渐变背景色填充
Python自动化:Python操作Excel的多种方式Pandas+openpyxl+xlrd
使用pandas操作Excel文件主要涉及读取(read_excel)和写入(to_excel)两个主要操作。
小白的大数据之旅
2024/11/20
1.4K0
Python自动化办公系列之Python操作Excel
③ 在python中使用excel函数公式(很有用)         
磐创AI
2020/05/16
2.4K0
Python操作Excel模块,你猜哪家强?
导读:Python操作excel的模块简直不要太多,今天就为大家比较下各模块之间的优缺点。
IT阅读排行榜
2020/02/20
1.9K0
Python操作Excel模块,你猜哪家强?
Excel自动化办公
安装 pip install openpyxl==3.0.7 基本操作 import openpyxl print(openpyxl.__version__) # 用openpyxl读取excel表格 wb = openpyxl.load_workbook('信息表.xlsx') print(wb) # 获取工作蒲sheet表名称 sheet1 = wb.sheetnames print("sheet表名称:\n", sheet1) # 获取指定sheet对象 sheet = wb['基本信息'] pr
shaoshaossm
2022/12/26
4830
Pandas与openpyxl库的"完美"融合!
你用过pandas+openpyxl吗?今天为大家分享一个Python自动化办公文档中,没有提到的知识点。
快学Python
2021/12/08
2.5K0
Pandas与openpyxl库的"完美"融合!
实战 | 如何制作数据报表并实现自动化?
本章给大家演示一下在实际工作中如何结合 Pandas 库和 openpyxl 库来自动化生成报表。假设我们现在有如图 1 所示的数据集。
CDA数据分析师
2021/11/09
1.7K0
实战 | 如何制作数据报表并实现自动化?
『python办公自动化』Excel:标红低于100的数据
作为产品经理,收集和分析数据是必备技能。我们的产品可能会设置埋点监听用户行为、记录页面和某些功能的使用情况。你问研发同事拿埋点数据,研发同事可能会导出一份 Excel 给你。此时如果你想标红使用量少于100的数据,可以在Excel里操作,也可以使用 Python 去处理。本文介绍后者。
德育处主任
2024/05/09
1970
『python办公自动化』Excel:标红低于100的数据
Excel办公自动化
请注意,本文编写于 986 天前,最后修改于 986 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
4320
Excel办公自动化
openpyxl:Python的Excel操作库
luckpunk
2023/09/27
9880
openpyxl:Python的Excel操作库
python3.5操作office Ex
在load_workbook中可使用: 在读取单元格时,guess_types将启用或禁用(默认)类型推断。
py3study
2020/01/08
8940
python openpyxl 常用excel样式 脚本
from openpyxl import Workbook from openpyxl.styles import Font from openpyxl.styles import NamedStyle, Font, Border, Side,PatternFill from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
用户5760343
2022/05/13
4750
python openpyxl
from openpyxl import Workbook wb = Workbook() #创建文件对象
用户5760343
2022/05/13
8640
推荐阅读
相关推荐
Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验