У меня есть фрейм данных, который выглядит следующим образом:
c sp k1 k2 k3 k4 k5 k6
0 c1 70.73 0.3% 0.6% 0.7% 0.8% 0.7% 0.5%
1 c2 149.71 0.7% 0.6% 0.4% 0.6% 0.7% 1.0%
2 c3 -1.00 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
3 c4 24.88 0.1% 0.9% 0.5% 0.7% 0.7% 0.9%
4 c5 276.23 0.3% 2.3% 0.4% 2.0% 1.9% 1.9%
Я создаю слайд в ppt для этой таблицы, используя этот код:
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
title = slide.shapes.title
title.text = "Title"
title.top = Cm(1) # set title position
title.left = Cm(1) # set title position
title.width = Cm(24) # set title size
title.height = Cm(2) # set title size
top = Inches(1.5) # set table position
left = Inches(0.25) # set table position
width = Inches(9.25) # set table size
height = Inches(5.0) # set table size
tbl1 = df_to_table(slide, dt, left, top, width, height, name='tbl1')
# changing the font size and font of the whole table
for cell in iter_cells(tbl1.table):
for paragraph in cell.text_frame.paragraphs:
for run in paragraph.runs:
run.font.size = Pt(12)
run.font.name = 'Calibri'
prs.save('test.pptx')
Я борюсь в применил следующие изменения в этой таблице, хотя
1- Я хотел бы добавить толстую верхнюю и нижнюю границу в имена столбцов
2- Правая граница в столбце sp
3 - сделать красным цветом цвет шрифта для всех c
с отрицательным sp
4 - применить форматирование зеленого цвета ко всем ячейкам в столбцах k
, чтобы увеличить значение темнее зеленый цвет ячейки
5- отрегулируйте размер ячейки, чтобы текст ячейки автоматически соответствовал ячейке
Я не совсем уверен, возможны ли все эти изменения форматирования использование пакета pptx
Примечание: функция df_to_table
происходит от здесь