python写excel

确保已安装 xlsxwriter:

pip install xlsxwriter

使用 xlsxwriter 设置特定单元格的背景色:

import pandas as pd

创建示例 DataFrame

df1 = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
})

将 DataFrame 导出到 Excel 使用 xlsxwriter

file_path = 'output_xlsxwriter.xlsx'
with pd.ExcelWriter(file_path, engine='xlsxwriter') as writer:df1.to_excel(writer, index=False, sheet_name='Sheet1')# 获取 xlsxwriter workbook 和 worksheet 对象workbook  = writer.bookworksheet = writer.sheets['Sheet1']# 定义红色背景格式red_format = workbook.add_format({'bg_color': '#FF0000'})# 设置第2行,第2列(即 B2 单元格)的背景色为红色worksheet.conditional_format(f'B2:B2', {'type': 'no_blanks', 'format': red_format})

下是一些常用的键和它们的作用:

bg_color: 设置单元格的背景色
font_color: 设置文字的颜色
bold: 设置为 True 或 False,以粗体显示文字
italic: 设置为 True 或 False,以斜体显示文字
underline: 设置为 True 或 False,以给文字加下划线
font_size: 设置文字的大小
align: 设置文字的对齐方式,如左对齐、居中、右对齐等
border: 设置单元格的边框样式

在使用 xlsxwriter 库的 conditional_format() 方法时,有多种不同的条件类型可以使用。这些条件类型允许你根据单元格的内容或其他条件来设置格式。以下是一些常见的条件类型:

blanks: 空单元格。    
no_blanks: 非空单元格。
cell: 基于单元格值的条件。
text: 基于单元格文本的条件。
time_period: 基于日期/时间的条件。
date: 基于具体日期的条件。
unique: 唯一值。
duplicate: 重复值。
top: 前 N 个值。
bottom: 后 N 个值。
average: 与平均值相关的条件(高于、低于等)。
2_color_scale: 两色渐变。
3_color_scale: 三色渐变。
data_bar: 数据条。
icon_set: 图标集。

每种条件类型还可以有更加具体的配置选项。下面是一些示例:

示例 1:基于单元格值的条件

worksheet.conditional_format('A1:A10', {'type': 'cell','criteria': 'greater than','value': 5,'format': format2})

示例 2:基于文本的条件

worksheet.conditional_format('A1:A10', {'type': 'text','criteria': 'containing','value': 'foo','format': format2})

示例 3:基于日期的条件

worksheet.conditional_format('A1:A10', {'type': 'date','criteria': 'greater than','value': '2024-01-01','format': format2})

示例 4:重复值

worksheet.conditional_format('A1:A10', {'type': 'duplicate','format': format2})

示例 5:前 N 个值

worksheet.conditional_format('A1:A10', {'type': 'top','value': 3,'format': format2})

示例 6:数据条

worksheet.conditional_format('A1:A10', {'type': 'data_bar','bar_color': '#63C384'})

示例 7:图标集

worksheet.conditional_format('A1:A10', {'type': 'icon_set','icon_style': '3_arrows'})

你可以根据需要选择适合你的条件类型,并结合格式化选项来实现所需的效果。如果你需要更多详细信息,可以参考 XlsxWriter 官方文档。

示例合并单元格

import xlsxwriter# 创建一个新的Excel文件并添加一个工作表
workbook = xlsxwriter.Workbook('split_example.xlsx')
worksheet = workbook.add_worksheet()# 合并A1到B1单元格
worksheet.merge_range('A1:B1', 'Merged Cell')# 拆分合并的单元格
# 参数解释:起始行、起始列、结束行、结束列、要插入的数据
worksheet.merge_range('A2:A3', 'Split 1')
worksheet.merge_range('B2:B3', 'Split 2')# 关闭工作簿
workbook.close()

下面是示例代码:

import xlsxwriter# 创建一个新的Excel文件并添加一个工作表
workbook = xlsxwriter.Workbook('conditional_format.xlsx')
worksheet = workbook.add_worksheet()# 添加一些数据到单元格A1到A10
data = [1, 6, 3, 8, 2, 10, 4, 7, 9, 5]
worksheet.write_column('A1', data)# 定义格式
bg_format1 = workbook.add_format({'bg_color': '#FFFF00'})
bg_format2 = workbook.add_format({'bg_color': '#A9D08E'})
border_format = workbook.add_format({'border': 1})
text_format = workbook.add_format({'font_color': 'red'})
format2 = workbook.add_format({'bg_color': '#FFC7CE', 'font_color': '#9C0006'})# 设置条件格式来标记大于5的单元格
worksheet.conditional_format('A1:A10', {'type': 'cell','criteria': 'greater than','value': 5,'format': text_format })
#设置背景色
worksheet.conditional_format('A1:A14',{'type': 'no_blanks', 'format': bg_format2})   #非空白单元格   
worksheet.conditional_format('A1:A14',{'type': 'blanks', 'format': bg_format2})     #空白单元格
#设置外边框                                 
worksheet.conditional_format('A1:{}{}'.format(column_name, l_end),{'type': 'blanks', 'format': border_format})
#合并单元格
worksheet.merge_range('A2:A3', 'Split 1')
# 关闭工作簿
workbook.close()

解释代码

  1. 创建数据

    • 使用 write_column() 方法将列表 data 中的数据写入工作表的 A 列(A1 到 A10)。
  2. 创建条件格式的格式对象

    • 使用 add_format() 方法创建一个格式对象 format2 ,这里设置了背景颜色为浅红色 (#FFC7CE),字体颜色为深红色 (#9C0006)。
  3. 设置条件格式

    • 使用 conditional_format() 方法设置条件格式。指定 'A1:A10' 作为应用条件格式的单元格范围。
    • 使用条件字典参数指定:
      • 'type':条件类型为 'cell',即基于单元格值的条件。
      • 'criteria':条件标准为 'greater than',表示大于指定值。
      • 'value':条件的比较值为 5
      • 'format':应用的格式为 format2,即大于5的单元格将应用 format2 中定义的格式。
  4. 保存和关闭工作簿

    • 使用 workbook.close() 方法保存并关闭创建的 Excel 文件。

通过这样设置,Excel 文件中大于5的单元格将显示为浅红色背景和深红色字体,以便突出显示这些符合条件的单元格。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索AI绘画工具的前沿:创新科技与艺术的无缝融合

在科技和艺术交织的时代,AI绘画工具以其独特的魅力引领着创作的新潮流。本文将带您深入了解AI绘画工具的前沿技术,并通过最新例子展示其实际应用和潜力。 AI绘画工具概述 AI绘画工具通过集成深度学习、自然语言处理等技术,实现了从文字描述…

Dubbo-使用zookeeper作为注册中心时节点的概述

本文内容很容易理解,会阐述当dubbo使用zookeeper作为注册中心时候,zookeeper节点是什么样子的 本文的代码使用的dubbo版本是2.7.x,几年前的版本了,但是不影响探究 首先我们创建一个简单的maven项目,然后写出一段dubb…

速盾:dns和cdn区别?

DNS(Domain Name System)和CDN(Content Delivery Network)是互联网中两个不同但相互关联的服务。下面将详细解释DNS和CDN的区别。 功能和作用: DNS:DNS是将域名转换为IP地址的服务,它充当着互联…

【机械键盘调整灯光】腹灵MK870说明书(个人备用)

本人手中这把MK870,是单模版的,是2022年05月出厂。 出厂时间不同,单模多模不同,说明书可能存在差异,仅供参考! 文字版本 此部分主要介绍其快捷键,方便查阅。图片版更全一些,放在下面…

速盾的防护功能是如何实现的?

速盾是一款专业的网络安全防护产品,主要通过多种技术手段实现防护功能,下面将详细介绍速盾的防护功能实现原理。 首先,速盾利用了人工智能和机器学习等先进技术来进行威胁识别和分析。通过收集大量的网络恶意行为数据和攻击信息,…

第二篇: 掌握Docker的艺术:深入理解镜像、容器和仓库

掌握Docker的艺术:深入理解镜像、容器和仓库 1. 引言 1.1 简要介绍Docker的重要性 在当今快速发展的技术世界中,软件开发和部署的效率和可靠性是衡量成功的关键因素。Docker,作为一个开源的容器化平台,革新了软件的打包、分发和…

【S32K 进阶之旅】 将 EB 配置生成的 MCAL 代码集成到 S32DS 中

本文介绍如何使用 S32DS 进行 AUTOSAR MCAL 工程的编译和调试,重点在于将 EB 配置生成的 MCAL 代码集成到 S32DS 中。 虽然配置过程较为繁琐,实操过一遍就会熟悉整个工程的框架。以后每次在 EB 中更新配置,生成代码的文件夹已经集成在 S32DS…

python反序列化知识点学习

最近遇到了python反序列化的题目,简单学习一下相关的知识点 基础知识 Python 的序列化指的是将 Python 对象转换为一种格式,以便可以将其存储在文件或通过网络传输。Python 中最常用的序列化模块是 pickle 模块。 序列化使用的是pickle.dumps方法&…

【DPDK学习路径】三、DPDK 环境搭建

操作系统ubuntu 18.04主机VMware虚拟机DPDKDPDP-19.05 1、在VMware中安装ubuntu 18.04。 2、为虚拟机添加两个网卡,设置网卡类型为桥接。 3、设置虚拟机网卡类型。 打开虚拟机安装目录下的name.vmx文件,将ethernet0.virtualDev项的值改为vmxnet3。此时…

【权威出版/投稿优惠】2024年智慧城市与信息化教育国际会议(SCIE 2024)

2024 International Conference on Smart Cities and Information Education 2024年智慧城市与信息化教育国际会议 【会议信息】 会议简称:SCIE 2024 大会时间:点击查看 大会地点:中国北京 会议官网:www.iacscie.com 会议邮箱&am…

java如何分割字符串

java要实现对字符串的分割,需要用到split语句 语法格式是 str.split(分隔符) 其中 str是字符串 示例代码如下 public class Stringsplit {public static void main(String[] args) {String a"蒸羊羔,蒸熊掌,蒸鹿尾,烧花…

视觉应用线扫相机速度反馈(伺服转盘)

运动控制实时总线相关内容请参考运动控制专栏,这里不再赘述 1、运动控制常用单位u/s运动控制单位[u/s]介绍_运动控制 unit是什么单位-CSDN博客文章浏览阅读176次。运动控制很多手册上会写这样的单位,这里的u是英文单词unit的缩写,也就是单位…

拓保全方位赋能,构建证券数字化蓝图

证券行业是我国金融业的重要基石,证券行业加速发展有利于拓宽融资渠道,释放市场活力,促进我国经济健康、普惠、持续高质量发展。作为深耕行业的软件信息服务提供商,拓保从顶层设计的高度上,构建证券数字化转型蓝图&…

ctfshow web 单身杯

web签到 <?phperror_reporting(0); highlight_file(__FILE__);$file $_POST[file];if(isset($file)){if(strrev($file)$file){ //翻转函数include $file;}}要进行反转并且包含文件用data协议 自己写不好写可以用函数帮你翻转 <?php $adata:text/plain,<?eval(…

黄金价格与美元的关系变了?

在一些传统的定价框架中&#xff0c;现货黄金的价格走势取&#xff0c;决于美元的实际利率水平——实际利率越高&#xff0c;黄金价格越低&#xff0c;反之亦然。在大多数的时候&#xff0c;美元的实际利率决定了美元指数的高低所以人们通常认为&#xff0c;现货金价与美元呈反…

基于深度学习的鸟类检测识别系统【python源码+Pyqt5界面+数据集+训练代码 MX_003期】

简介&#xff1a; 基于深度学习的鸟类检测识别系统在当今世界中具有广泛的应用前景。系统不仅可以帮助生态学家和保护人员监测和保护鸟类种群&#xff0c;还能在农业管理、城市生态监测以及科学研究领域发挥重要作用。通过自动化的图像识别技术&#xff0c;可以实现对鸟类种类、…

26 岁的“天才少年”,带队面壁打通高效大模型之路

每一轮技术浪潮出现时&#xff0c;冲在最前面的都是朝气蓬勃的年轻人。 当大模型代表的人工智能浪潮席卷全球&#xff0c;作为移动互联网“原住民”的年轻开发者&#xff0c;可以说是最活跃的群体。他们的脸庞还有些稚嫩&#xff0c;但在技术和方向上有着自己的想法&#xff0…

西格玛 ------ 第18个希腊字母学习

名词解释 在数学中&#xff0c;我们把∑作为求和符号使用&#xff0c;用小写字母σ&#xff0c;表示标准差。 ∑符号表示求和&#xff0c;读音为sigma&#xff0c;英文意思为Sum&#xff0c;Summation&#xff0c;汉语意思为“和”“总和”。 例1 公式使用说明&#xff1a;…

python图像处理库-PIL(Pillow)

PIL库全称为Python Imaging Library&#xff0c;即Python图像处理库&#xff0c;是一个在Python中用于处理图像的非常流行的库。 一、PIL介绍 这个库提供了广泛的文件格式支持、高效的内部表示以及相当强大的图像处理功能。 核心图像库旨在快速访问存储在几种基本像素格式中的数…

元数据:数据的罗塞塔石碑

在大数据时代&#xff0c;我们每天都在生成和处理海量数据。但数据本身&#xff0c;如果没有适当的上下文和描述&#xff0c;就像是一堆没有翻译的古老文字。这就是元数据发挥作用的地方——它是大数据世界的罗塞塔石碑&#xff0c;为我们提供了理解和利用数据的关键。 文章目录…