python实现对excel中需要的数据的单元格填充颜色

  • Post category:Python

当使用Python操作Excel表格时,有时候需要对表格中特定的单元格进行颜色填充。下面是实现Excel中单元格填充颜色的完整实例教程,其中包含了两个具体的示例。

准备工作

1.安装openpyxl库:可以使用pip或conda进行安装。

pip install openpyxl

2.准备测试用Excel表格:打开Excel软件,新建一个表格,填写一些数据作为测试用例,示例表格结构如下:

姓名 年龄 体重 身高
张三 20 60 175
李四 22 70 180
王五 21 65 178

实现Excel中单元格填充颜色

示例1:将单元格填充为红色

# 导入openpyxl库
import openpyxl
# 加载测试用Excel表格文件
wb = openpyxl.load_workbook('test.xlsx')
# 获取Excel表格中的第1个工作表
ws = wb.worksheets[0]
# 获取单元格B2
cell = ws.cell(row=2, column=2)
# 设置单元格颜色为红色
cell.fill = openpyxl.styles.PatternFill(fill_type='solid', fgColor='FF0000')
# 保存修改后的表格
wb.save('test.xlsx')

上述代码中,我们首先导入openpyxl库用于操作Excel表格。然后加载测试用Excel表格文件,获取表格中的第一个工作表,并获取B2单元格。最后,通过设置PatternFill类的fill_type和fgColor属性,将单元格B2填充为红色。最后保存修改后的表格。

示例2:将满足条件的单元格填充为绿色

# 导入openpyxl库
import openpyxl
# 加载测试用Excel表格文件
wb = openpyxl.load_workbook('test.xlsx')
# 获取Excel表格中的第1个工作表
ws = wb.worksheets[0]
# 遍历表格,将年龄小于等于21岁的单元格填充为绿色
for row in ws.iter_rows(min_row=2, max_row=4, min_col=2, max_col=2):
    for cell in row:
        if cell.value is not None and cell.value <= 21:
            cell.fill = openpyxl.styles.PatternFill(fill_type='solid', fgColor='00FF00')
# 保存修改后的表格
wb.save('test.xlsx')

上述代码中,我们首先导入openpyxl库用于操作Excel表格。然后加载测试用Excel表格文件,获取表格中的第一个工作表。接下来,我们遍历表格,将所有年龄小于等于21岁的单元格填充为绿色。

我们使用了iter_rows函数来遍历表格中的行和列,然后在每个单元格中检查其值是否满足条件。如果满足条件,我们就将该单元格填充为绿色。最后,我们保存修改后的表格。