以下是一个示例代码,解决了给定条件下将所有行涂上相同颜色的问题:
import openpyxl
from openpyxl.styles import PatternFill
def color_rows(file_path):
# 加载工作簿
workbook = openpyxl.load_workbook(file_path)
# 获取第一个工作表
worksheet = workbook.active
# 定义填充颜色
fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
previous_value = None
for row in worksheet.iter_rows():
# 获取当前行的值
current_value = row[0].value
# 检查当前行的值与前一行是否相同
if current_value != previous_value:
# 如果不相同,将所有行涂上相同颜色
for cell in row:
cell.fill = fill
previous_value = current_value
# 保存工作簿
workbook.save(file_path)
# 用法示例
file_path = "example.xlsx"
color_rows(file_path)
在这个示例中,我们使用openpyxl库来操作Excel文件。首先,我们加载给定路径的工作簿,并选择第一个工作表。然后,我们定义了填充颜色为红色。接下来,我们使用iter_rows()
方法迭代每一行,并比较当前行的值与前一行的值。如果它们不相同,我们将遍历当前行的每个单元格,并将填充颜色应用于它们。最后,我们保存工作簿。