Я хотел написать несколько листов определенным шрифтом в Python, например:
from openpyxl.styles import colors
from openpyxl.styles import Font, Color
from openpyxl import Workbook
import openpyxl as op
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
def style_range_multiple_entries(file, cells_description, font):
book = op.load_workbook(file)
for k, description in enumerate(cells_description):
for t, list_item in enumerate(description[k]):
ws = book.worksheets[description[1]]
cell = ws.cell(description[2])
cell.value = description[0]
cell.font = font
book.save("styled.xlsx")
names = [[['apple', 'banana', 'strawberry'], [0,0,0],['B2','B20',''B25]], (...) ]
font1 = Font(name='Calibri', size=16, bold=True)
style_range_multiple_entries('styled.xlsx',names, font1)
Однако что-то не так с циклом ..
Я хотел написать на одном листенесколько ячеек в нескольких местах, но один и тот же шрифт.Что-то вроде:
Sheet 1:
Cell'B2' = apple
Cell 'B20' = banana
Cell 'B25' = strawberry
Знаете ли вы, что не так с моим кодом?
Заранее спасибо!
PS:
Я создал код, который работает для меня так:
def style_range(file, cells_description, font):
book = op.load_workbook(file)
for k, description in enumerate(cells_description):
ws = book.worksheets[description[2]]
cell = ws.cell(description[1])
cell.value = description[0]
cell.font = font
book.save("styled.xlsx")
Однако мне нужно указатьдля списка что-то вроде этого:
list = [['apple','B2',0], ['banana','B20',0], ['strawberry','B25',0], (...) ]
, и я хотел сделать это для списка, как я определил выше "имена".