使用openpyxl通过参数设置字体颜色时出现语法错误求助
解决openpyxl动态设置字体颜色的语法错误
你的问题出在错误地使用了字符串格式化语法传递Font类参数,Python不支持在函数参数列表里直接用%s的写法。
正确写法是直接将site_color变量作为color参数的值传入:
site_color = "FF0000" # 示例红色,openpyxl颜色用不带#的十六进制RGB值 cellfont = Font(name='Arial', size=8, bold=False, italic=False, color=site_color)
如果要根据多条件生成不同字体配置,还可以提前把配置存在字典里,用解包方式创建Font对象,更简洁:
# 定义不同条件对应的字体配置 font_configs = { "condition1": {"name": "Arial", "size": 8, "bold": False, "italic": False, "color": "FF0000"}, "condition2": {"name": "Arial", "size": 8, "bold": True, "italic": False, "color": "00FF00"} } # 根据当前条件获取配置 current_config = font_configs.get("condition1") cellfont = Font(**current_config)
这样既避免重复代码,也解决了语法错误。
内容的提问来源于stack exchange,提问作者user17565490
相关产品推荐
相关产品推荐

