xlsxwriter 中的日期条件格式格式化空白单元格和符合条件的单元格

2024-01-02

我有一个日期列,我正在尝试使用 xlsxwriter 对其进行格式化。

该列可以包含日期或为空。

我尝试应用的条件格式(当日期

如何防止它格式化空白单元格?

请参阅下面的代码:


format1 = workbook.add_format({'bg_color':   '#FFC7CE',
                               'font_color': '#9C0006'})
date = datetime.now()

worksheet.conditional_format(due_range, {'type':     'date',
                                        'criteria': 'less than',
                                        'value':    date,
                                        'format':   format1})

writer.save()
workbook.close()


为了在 XlsxWriter 中使用条件格式,您应该首先弄清楚要在 Excel 中做什么,然后将其传输过来。

Excel 中的日期只是具有某种格式的数字,因此看起来空白单元格被 Excel 解释为 0,从而解释为 1900-01-01 纪元日期。

解决此问题的一种方法是获取第一个非零日期和所需日期之间的条件格式范围。在 XlsxWriter 中你可以这样做:

import pandas as pd
from datetime import datetime, date

# Create a Pandas dataframe from some datetime data.
df = pd.DataFrame({'Dates': [date(2019, 5, 1),
                             None,
                             date(2019, 5, 2),
                             date(2019, 5, 3),
                             None,
                             date(2019, 5, 4),
                             date(2019, 5, 5)],
                   })


writer = pd.ExcelWriter("pandas_test.xlsx", engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

format1 = workbook.add_format({'bg_color':   '#FFC7CE',
                               'font_color': '#9C0006'})
date = datetime.now()
due_range = 'B2:B8'

worksheet.conditional_format(due_range, {'type':    'date',
                                        'criteria': 'between',
                                        'minimum':  datetime(1900, 1, 2),
                                        'maximum':  date,
                                        'format':   format1})

worksheet.set_column('B:B', 20)
writer.save()

Output:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xlsxwriter 中的日期条件格式格式化空白单元格和符合条件的单元格 的相关文章

随机推荐

  • 从 master 分支构建到 gh-pages 分支

    我想做的事 我正在使用github 我有两个分支机构 主页面和 gh 页面 我的 master 分支上有一个 unity3d 项目 当我运行它时 它将生成一个网页 我想在 gh pages 分支上显示网页的内容 我认为这意味着我必须在存储库
  • 如何通过区分类型来隔离枚举?

    下面的代码定义了两个枚举 class Insect BEE 0x00 WASP 0x01 BUMBLEBEE 0x02 class Breakfast HAM 0x00 EGGS 0x01 PANCAKES 0x02 b Insect WA
  • 如何根据 R 中其他行和列中的值来填充数据框

    假设我有一个如下所示的数据框 ID T X Y Z 1 1 A A NA 1 2 B A NA 1 3 B B NA 1 4 B A NA 2 1 A B NA 2 2 A A NA 2 3 B A NA 2 4 A B NA 3 1 B
  • Java 中埃拉托斯特尼的并行筛法

    我正在尝试并行实现埃拉托斯特尼筛法 我创建了一个布尔列表 其中填充了给定大小的 true 值 每当找到素数时 该素数的所有倍数都会在布尔列表中标记为 false 我尝试使该算法并行的方法是启动一个新线程 同时仍然过滤初始素数 例如 该算法以
  • 使用 Sapera 拍摄图像并将数据复制到矢量

    我如何拍摄图像萨佩拉SDK https www teledynedalsa com en products imaging vision software sapera lt 并传输图像数据SapBuffer对象到向量 要使用 Sapera
  • 如何将字典赋予字典值[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个有趣的问题 有谁知道我们是否可以为字典的价值提供另一本字典 例子 var dict1 new Dictionary
  • Python JSON TypeError 列表索引必须是整数或切片,而不是 str

    我目前正在尝试从发布请求响应中解析一些数据 并且不断收到此错误 TypeError 列表索引必须是整数或切片 而不是 str Python代码 import requests import json count 0 params var1
  • Android 中的 Webview 建立内存

    在我的混合 Android 应用程序中 ListView项目点击我正在加载WebView通过通过WebViewActivity 以及要在其中显示的 url 用户可以通过单击后退按钮返回到先前的视图 但点击 3 4 后发生的事情ListVie
  • 使用 espresso 解锁模拟器屏幕

    我正在开发我的第一个 Android 应用程序 并且正在设置 CI 服务器 我的浓缩咖啡测试在我的机器上运行良好 但 travis 出现以下错误 java lang RuntimeException 等待视图层次结构的根获得窗口焦点并且在超
  • 如何将字节数组转换为位图图像?

    在这里 我附加了将位图转换为字节数组的代码 现在我必须重新生成位图以在 android 图像视图中显示 在下面的代码中 mRawBitmapData 是字节 Araay 这里的代码是为转换后的图像创建字节数组 所以现在我必须从这个字节数组重
  • 示例请求正文中 JsonPatchDocument 的 Swagger 意外 API PATCH 操作文档

    我正在制作 Core 3 1 Web API 并使用杰森补丁 https learn microsoft com en us aspnet core web api jsonpatch view aspnetcore 3 1创建 PATCH
  • Magento 模块中的 Mydomain 错误

    我正在本地计算机上为 Magento 安装 B2B 扩展 没有出现任何问题 但是 在对客户端服务器执行相同操作时 我收到以下错误 404 Not Found The server can not find the requested pag
  • 使用 Maven 时如何解决更严格的 Java 8 Javadoc

    您很快就会意识到 JDK8 在 Javadoc 方面更加严格 默认情况下 link http docs oracle com javase 8 docs technotes guides javadoc whatsnew 8 html 请参
  • ASP.NET Core MVC 中是否继续支持 Ninject?

    我一直很高兴使用Ninject已经很久了 我真的很喜欢它 但是自从发布以来我面临着一个艰难的选择ASP NET Core and MVC Core 基本上 微软已经公开了他们自己的依赖注入系统 据我所知 这一点受到了很多批评 但我更大的问题
  • 启动和停止广播接收器

    我想通过两个按钮启动和停止广播接收器 我已经在两个按钮侦听器中为此编写了代码 代码如下 在startButton中我编写了注册接收器的代码如下 startCallBtn setOnClickListener new View OnClick
  • 为什么我们可以使用鼠标滚轮更新输入的数字值?

    为什么可以更新a的值input type number 在 React 中使用鼠标滚轮 但在纯 HTML 中不使用 React https codesandbox io s festive morse l28c7 https codesan
  • 尝试为 Android 创建 hello world 示例时出现“无效的命令行参数”错误

    我刚刚决定开始开发 Android 应用程序 但遇到了一些问题 当我尝试构建 hello world 示例时出现此错误http developer android com resources tutorials hello world ht
  • 重定向 URL 不适用于 Iframe

    我需要的 当用户点击视频网址时 它必须重定向到您的视频 我们正在使用 html5lightbox 插件 我面临的问题 重定向在 iframe 中不起作用 虽然当我点击 iframe 的 src 时 它会被重定向到 youtube url 这
  • 覆盖具有参数的 FastAPI 依赖项

    我正在尝试使用官方推荐的方法覆盖注入的数据库来测试我的 FastAPI 端点FastAPI文档 https fastapi tiangolo com advanced testing dependencies 我注入数据库的函数是一个闭包
  • xlsxwriter 中的日期条件格式格式化空白单元格和符合条件的单元格

    我有一个日期列 我正在尝试使用 xlsxwriter 对其进行格式化 该列可以包含日期或为空 我尝试应用的条件格式 当日期 如何防止它格式化空白单元格 请参阅下面的代码 format1 workbook add format bg colo