Python 使用openpyxl将颜色应用于特定单元格
我试图将蓝色应用于一行单元格,但当我这样做时,不会返回错误或进行任何更改Python 使用openpyxl将颜色应用于特定单元格,python,xlsx,openpyxl,Python,Xlsx,Openpyxl,我试图将蓝色应用于一行单元格,但当我这样做时,不会返回错误或进行任何更改 wb = load_workbook(filename='concentrated.xlsx') ws2 = wb.get_sheet_by_name('Data in') HeaderFill = PatternFill(start_color='002b43', end_color='002b43', fill_type='solid') for cell in ws2['A3':'O3']: He
wb = load_workbook(filename='concentrated.xlsx')
ws2 = wb.get_sheet_by_name('Data in')
HeaderFill = PatternFill(start_color='002b43', end_color='002b43', fill_type='solid')
for cell in ws2['A3':'O3']:
HeaderFill
wb.save('concentrated.xlsx')
实际上,您并没有将HeaderFill分配给循环中的任何内容。将其指定给的正确对象是单元格的fill属性 因此: 编辑:
感谢Charlie Clark发现了我的疏忽:切片返回的是行元组,而不是单元格元组。好吧,实际上您并没有将HeaderFill分配给循环中的任何内容。将其指定给的正确对象是单元格的fill属性 因此: 编辑:
感谢Charlie Clark抓住了我的疏忽:切片返回行元组,而不是单元格元组。谢谢,我完全错过了。但是现在它给我的是
AttributeError:“tuple”对象没有属性“fill”
错误。工作表切片总是返回一个行的tuple。因此,您需要用于ws['A3':'O3']:用于row中的单元格:cell.fill=HeaderFill
谢谢,我完全错过了。但是现在它给我的是AttributeError:“tuple”对象没有属性“fill”
错误。工作表切片总是返回一个行的tuple。所以您需要对ws['A3':'O3']中的行执行:对行中的单元格执行
for row in ws2['A3':'O3']:
for cell in row:
cell.fill = HeaderFill