如何用 pandas 为空行着色并导出到 Excel 文件?

2023-12-13

我正在尝试在 Excel 上自动执行一些任务,其中一些包括设置没有任何红色值的单元格(我的 DataFrame 维度中的空单元格,而不是其外部的空单元格),在检查之前的类似答案后,我尝试了以下操作:

import pandas as pd

# Create a dataframe
df = pd.read_excel(r'input.xls', sheet_name='sheet1')
print(df)

df.style.applymap(lambda x: 'background-color : yellow' if x>1 else '')


# create excel writer object
writer = pd.ExcelWriter(r'Output.xls')

# write dataframe to excel
df.to_excel(writer)
# save the excel
writer.save()
print('DataFrame is written successfully to Excel File.')

我也尝试过其他方法,比如

def color(row):
    if row.isnull().values.any() == True:
        return ['background-color: red'] * len(row)
    return [''] * len(row)

# Apply the function
df.style.apply(color, axis=1)

这些似乎都不起作用,在控制台中,我打印了正确的值,并且得到了一个输出文件,其中包含从 0 开始的附加行枚举,但输出 excel 文件中没有任何颜色

我在 Excel 中的数据集具有 x x y 维度,每个单元格可以包含数字(十进制)或文本,具体取决于列名称


熊猫Styler对象是一个独立的对象df它创造了它。要将样式化的 DataFrame 写出到 Excel,我们需要使用实际的 Styler 对象,而不是df。最简单的方法是使用Styler.to_excel:

# Save Styler Object for Later
styler = df.style
# Apply Styles (This can be chained or on separate lines)
styler.applymap(lambda x: 'background-color : yellow' if x > 1 else '')
styler.apply(color, axis=1)
# Export the styler to excel
styler.to_excel('Output.xls', index=False)

方法链也有效:

df.style \
    .applymap(lambda x: 'background-color : yellow' if x > 1 else '') \
    .apply(color, axis=1) \
    .to_excel('Output.xls', index=False)

*Note: index=False确保 DataFrame 索引不包含在输出中。 (“从 0 开始的附加行枚举”)


我们还可以使用pd.ExcelWriterStyler以类似的方式:

# Save Styler Object for Later
styler = df.style
# Apply Styles (This can be chained or on separate lines)
styler.applymap(lambda x: 'background-color : yellow' if x > 1 else '')
styler.apply(color, axis=1)

with pd.ExcelWriter('Output.xls') as writer:
    styler.to_excel(writer, index=False)

作为一般性改进,我们可以通过传递来在 DataFrame 级别设置样式axis=None to 造型器应用并在一个函数中执行所有修改:

def color(df_):
    styles_df = pd.DataFrame('', index=df_.index, columns=df_.columns)
    # Color cells yellow where they are greater than 1
    styles_df[df_ > 1] = 'background-color: yellow'
    # Color rows red where there are any null values across rows
    styles_df.loc[df.isnull().any(axis=1), :] = 'background-color: red'
    return styles_df


with pd.ExcelWriter('Output.xls') as writer:
    df.style.apply(color, axis=None).to_excel(writer, index=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 pandas 为空行着色并导出到 Excel 文件? 的相关文章

  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • Excel 数字缩写格式

    这是我想要完成的任务 Value Display 1 1 11 11 111 111 1111 1 11k 11111 11 11k 111111 111 11k 1111111 1 11M 11111111 11 11M 11111111
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • 两个日期之间的小时数在 Excel 中不起作用

    根据要求 我提供了一张简化的屏幕截图来说明该问题 如您所见 我减去了两个日期并将其格式化为 h mm ss 为什么这不能提供两个日期之间经过的总小时数 有一个更好的方法吗 下面有一个很好的答案 但我试图弄清楚为什么按照此屏幕截图中所示的方式
  • feedparser 在脚本运行期间失败,但无法在交互式 python 控制台中重现

    当我运行 eclipse 或在 iPython 中运行脚本时 它失败了 ascii codec can t decode byte 0xe2 in position 32 ordinal not in range 128 我不知道为什么 但
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例

随机推荐

  • 上传多张图片到服务器

    我正在创建一个应用程序 并在我的应用程序中添加了一个选项来从图库浏览图像 然后上传到服务器 我之前问过这个问题 但没有得到好的答案 为了上传图像 我正在遵循本教程http mayanklangalia blogspot in 2014 04
  • Flutter 检测 UTF8 主题标签

    在此模式中 只能检测非 utf8 主题标签 例如 我如何更新此模式以检测非 utf8 和英文字符 pattern r B w b 单个 Unicode 单词 字符可以编码为 0 9A Za z xAA xB5 xBA xC0 xD6 xD8
  • NSCalendar 日期错误

    我正在尝试使用NSCalendar with NSIslamicCalendar标识符 但当天的结果并不好 她是我的代码 NSCalendar calandar NSCalendar alloc initWithCalendarIdenti
  • 无法将 (PFUser!, NSError) void 类型的值转换为预期参数类型 PFUserResultBlock

    我对 swift 和编程都很陌生 但我正在尝试检索检查用户是否可以登录 并且我相信我做了 Parse 建议的操作 但是我收到了此错误 并且不确定原因 这是我的代码 PFUser logInWithUsernameInBackground u
  • 从 J2SE 应用程序中的 persistence.xml 外部化凭证

    我正在编写一个使用 JPA 进行持久性的 J2SE 应用程序 无企业容器 这是我的persistence xml
  • 如何在 Windows 7 上注册自定义程序来处理 mailto 协议

    好的 这可能是我的系统的问题 但我很难让 Windows 7 将我的自定义 exe 识别为 mailto 协议的默认处理程序 首先 我见过这个 以编程方式向 mailto 协议注册 Windows 程序 接下来 我看到了这些 如何使用 Wi
  • C 语言中的非阻塞 I/O? (视窗)

    我正在尝试在 Windows 终端应用程序上获得非阻塞 I O 仅限 Windows 抱歉 如果我想要一个较短的输入时间 让用户可以按下按钮 但如果他不按下按钮 输入就会停止并且程序会继续执行 该怎么办 例如 一个从 1 计数到用户按下某个
  • MapPageRoute 破坏集成 MVC/WebForms 应用程序中的 ActionLink

    我有一个用 ASP NET 4 0 开发的现有 Web 应用程序 我想向应用程序添加 MVC 功能 因此我按照 Scott Hanselman 的文章将 MVC 集成到应用程序中将 ASP NET MVC 3 集成到现有升级的 ASP NE
  • Jasper Report HTML 项目符号悬挂缩进

    我有一个 Jasper 报告 它使用 HTML 标记来显示 li 标记列表 然而 似乎即使使用最新版本的 Jasper 报告 它仍然无法正确执行悬挂缩进 这就是我要的 TEST TEST TEST TEST TEST TEST TEST T
  • 我们如何创建动态文本视图?

    如何在代码中而不是在 xml 文件中创建文本视图 这是因为我的应用程序中的文本视图数量将根据某个整数发生变化 这是动态创建TextView的代码 LinearLayout layout LinearLayout findViewById R
  • 在网络视图中显示 PDF

    我想在我的应用程序中显示 pdf 文件 我的网络服务为我提供了 pdf 我想将其下载到 SD 卡 然后我想通过 webview 在我的应用程序中显示该 pdf 我也曾因 Android PDF 显示问题而苦苦挣扎了一段时间 我采用了与您提到
  • OWL2 使用一个不同的公理对子类进行建模

    我正在尝试使用 OWL 2 DL 使用 Protege 对一些词汇数据进行建模 我的主类是 Lemma 它有许多公理 使用曼彻斯特语法 Every Lemma hasLanguage some Language Every Lemma ha
  • 在 Node.js 中发送电子邮件? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我最近开始编写我的第一个 Node j
  • 如何使用seaborn.objects旋转xticks

    碰巧 有没有办法旋转下图中的 xticks 只是为了让它更具可读性 通常sns xticks 在新的seaborn objects开发中不起作用 这太棒了 tcap assign date time2 tcap date time dt d
  • python 3.5 - django 1.10 - mysqlclient windows 7安装错误

    在 django 中配置 mysql 时 我遇到了非常令人不安的问题 我在 Ubuntu x64 上使用 python 3 5 和 Django 1 10 做到了这一点 但我无法在 Windows 7 上做到这一点 我几乎尝试了一切 我希望
  • goDaddy 网站数据库用户访问被拒绝

    我正在尝试从 godaddy 查看我的网站 域名是在其他地方注册的 托管是来自godaddy 更改 DNS 设置后 我在 godaddy 中创建数据库并导入其中的所有表 之后 我创建了一个用户名并将其授予所有权限 然后 当我尝试连接到数据库
  • WCF 超时错误 - 即使在增加值之后

    我的客户一直抱怨他们收到超时错误 但我没有看到我这边生成的跟踪文件 有人能告诉我如何解决这个问题吗 我已经将 receiveTimeout 增加到 15 分钟 00 15 00 我在 WCF 服务端和客户端都执行了此操作 我的服务不是一个长
  • 与可为空外键的一对一关系

    我想在 EF 中创建一对一关系 其中外键可以为空 因此 可以将其称为 0 1 to 0 1 public class ProductInstance public int Id get set public int SaleId get s
  • 安装plone时不支持的哈希类型

    我尝试安装plone但是当我运行脚本 install sh 时遇到问题 以下是错误详细信息 raise ValueError unsupported hash type s name ValueError unsupported hash
  • 如何用 pandas 为空行着色并导出到 Excel 文件?

    我正在尝试在 Excel 上自动执行一些任务 其中一些包括设置没有任何红色值的单元格 我的 DataFrame 维度中的空单元格 而不是其外部的空单元格 在检查之前的类似答案后 我尝试了以下操作 import pandas as pd Cr