如何用Python为Excel已填充行添加粉色背景并保存文件?
解决方案:用Python给Excel有内容的行添加粉色背景
核心工具选择
用openpyxl库,它专门处理.xlsx格式的Excel文件,支持读写和样式设置,是这类需求的首选。
步骤与代码示例
- 安装依赖
pip install openpyxl
- 完整代码示例
from openpyxl import load_workbook from openpyxl.styles import PatternFill # 定义粉色填充样式(FFC0CB是标准粉色的十六进制码) pink_fill = PatternFill(start_color="FFC0CB", end_color="FFC0CB", fill_type="solid") # 加载目标Excel文件 wb = load_workbook("input.xlsx") # 遍历所有工作表 for ws in wb.worksheets: # 遍历每一行(从第1行开始,ws.iter_rows()会返回所有行对象) for row in ws.iter_rows(): # 判断该行是否有非空内容(排除完全空的行) has_content = any(cell.value is not None and str(cell.value).strip() != "" for cell in row) if has_content: # 给该行每个单元格设置粉色背景 for cell in row: cell.fill = pink_fill # 保存处理后的文件 wb.save("output.xlsx")
关键细节说明
- 判断行是否有内容:代码里的
has_content逻辑会排除完全为空的行,同时过滤掉仅含空格的单元格。如果你的需求里空格也算内容,可以去掉.strip() != ""部分。 - 样式定义:
PatternFill的fill_type="solid"表示纯色填充,start_color和end_color设置为相同的十六进制颜色码即可。 - 兼容格式:
openpyxl只支持.xlsx/.xlsm格式,如果是.xls文件,建议先转成.xlsx再处理,或者改用xlutils配合xlrd/xlwt(但后者对样式支持有限)。
内容的提问来源于stack exchange,提问作者squidgybatman
相关产品推荐
相关产品推荐

