『python办公自动化』Excel:标红低于100的数据

👀 点赞 + 关注 + 收藏 = 学会了

📚 专栏:写给产品经理的办公自动化教程

本文简介

作为产品经理,收集和分析数据是必备技能。我们的产品可能会设置埋点监听用户行为、记录页面和某些功能的使用情况。你问研发同事拿埋点数据,研发同事可能会导出一份 Excel 给你。此时如果你想标红使用量少于100的数据,可以在Excel里操作,也可以使用 Python 去处理。本文介绍后者。

在此之前你需要掌握 Python 的基础语法,不了解 Python 的工友可以查阅 《Python 快速入门篇》

动手操作

Python 实现上述需求只需4步:

  1. 下载并导入 openpyxl
  2. 加载 Excel 文件(本例的统计表叫 "功能使用量统计.xlsx" )
  3. 遍历并标红数值小于100的数据
  4. 保存文件

首先打开 Jupyter Notebook 创建一个 Notebook,不了解 Jupyter Notebook 的工友可以回顾一下 《Python编辑器:Jupyter Notebook》

openpyxl 是一个强大的 Python 库,用于处理Excel文件。

第一步先安装 openpyxl

python 复制代码
pip install openpyxl

# 如果在 Jupyter Notebook 使用下面这句
!pip install openpyxl

接下来就是使用 openpyxl 处理这份 Excel 文件了,具体说明请看代码注释。

python 复制代码
# 引入 openpyxl
from openpyxl import load_workbook # load_workbook 用于加载 Excel 文件
from openpyxl.styles.fonts import Font # 这里的 Font 主要作用是设置文本样式

# 加载Excel文件,获取工作本worksheet
wb = load_workbook('./功能使用量统计.xlsx')

# 获取worksheet
# worksheet 就是 Excel 的工作簿,详情请看下方的"Excel工作区图片解释"
# 因为本例只有1个工作簿,所以用 active 可以获取当前活动的工作簿。
ws = wb.active

# 定义文本颜色(00FF0000表示红色)
font_style = Font(color='00FF0000')

# 遍历每一行,每一列。也就是遍历Excle的每一个单元格。
# min_row=2: 从第2行开始
# min_col=2: 从第2列开始
# 因为第一行是表头,第一列是事件名称。这些数据都不是我们拿来判断是否大于100的。所以使用 min_row=2 和 min_col=2 跳过这些数据。
for row in ws.iter_rows(min_row=2, min_col=2):
    # 获取每一格
    for cell in row:
        # cell是单元格对象,要获取值需要访问 value 属性
        if cell.value < 100:
            # 判断如果 cell 中的值<100,标记为红色
            cell.font = font_style

# 保存文件,保存时需要指定文件名以及文件格式,也就是文件的后缀
wb.save('功能使用量统计.xlsx')
# 保存完就关闭这个文件
wb.close()

效果:

Excel工作区图片解释

工作簿:


点赞 + 关注 + 收藏 = 学会了

相关推荐
GetcharZp4 小时前
拒绝低效!这款神器,让你的终端效率起飞 | 深度解析 fzf 终极指南
后端
2301_816660214 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
第一程序员4 小时前
数据工程 pipelines 实践
python·github
知行合一。。。5 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
郝学胜-神的一滴5 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
自珍JAVA5 小时前
高效处理Long列表与集合运算:基于RoaringBitmap的工具类解析与应用场景
后端
小码哥_常5 小时前
Spring Boot项目上线秘籍:日志、监控、异常处理全攻略
后端
qq_372154235 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
GreenTea6 小时前
AI 时代,工程师的不可替代性在哪里
前端·人工智能·后端
LiAo_1996_Y6 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python