Python使用xlwt和xlrd实现Excel指定条件行着色

叶初
叶初
发布时间:2026-10-12| 3人浏览过
原创

本文介绍如何利用Python的xlrd读取Excel文件,结合xlutils.copy复制工作簿,并通过xlwt设置单元格样式实现指定条件行的颜色标记。通过判断列值并写入带背景色的样式,完成Excel数据的可视化高亮处理,适用于需要批量标记特定数据场景。

首先,使用xlrd库读取Excel文件,获取对应的book对象a。

从book对象中提取指定的sheet页,得到xlrd对象。

利用xlutils库的copy方法,将对象a复制生成新的工作簿对象b。

遍历对象a中的列值,根据判断条件修改对象b中对应单元格的内容或样式。

最后保存对象b,生成带有颜色标记的结果文件。

此前曾尝试直接使用xlwt操作sheetwork对象来实现指定行着色,但因技术限制未能找到合适方案。最终采用先读取再复制的方法,因为workbook对象能直接获取行数和列操作权限,便于筛选关键字。上述代码仅为演示示例,该方法存在局限:例如将dataframe导出到Excel后,缺乏直接给指定列添加颜色的便捷方法,需先保存至本地再读取处理,步骤较为繁琐。目前尚未发现sheetwork直接转换为workbook的简便途径,仍需进一步探索。

补充知识:Python如何对Excel中满足特定值的单元格进行着色处理。

具体效果展示如下。

实现代码如下。

import xlwt
import xlrd
from xlutils.copy import copy
#创建execl
def create_execl(file_name):
 wb = xlwt.Workbook()
 ws = wb.add_sheet('Info')
 ws.write(0, 0, "1")
 ws.write(1, 0, "2")
 ws.write(2, 0, "3")
 ws.write(3, 0, "2")
 wb.save(file_name)
#单元格上色
def color_execl(file_name):
 styleBlueBkg = xlwt.easyxf('pattern: pattern solid, fore_colour red;') # 红色
 rb = xlrd.open_workbook(file_name)  #打开t.xls文件
 ro = rb.sheets()[0]      #读取表单0
 wb = copy(rb)       #利用xlutils.copy下的copy函数复制
 ws = wb.get_sheet(0)     #获取表单0
 col = 0         #指定修改的列
 for i in range(ro.nrows):    #循环所有的行
  result = int(ro.cell(i, col).value)
  if result == 2:      #判断是否等于2
   ws.write(i,col,ro.cell(i, col).value,styleBlueBkg)
 wb.save(file_name)
 
if __name__ == '__main__':
 file_name = 't.xls'
 create_execl(file_name)
 color_execl(file_name)

以上即为Python利用xlwt和xlrd实现指定条件给Excel行添加颜色的完整分享,希望能为读者提供参考,欢迎继续支持本站内容。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。