Как сделать изменения форматирования в таблице, используя pptx в python? - PullRequest
2 голосов
/ 06 февраля 2020

У меня есть фрейм данных, который выглядит следующим образом:

    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 происходит от здесь

1 Ответ

0 голосов
/ 07 февраля 2020

1 + 2 ... Вы знаете, как это сделать в PowerPoint? Если это так, вы можете сравнить два файла с толстой рамкой и без нее, чтобы определить, какую часть xml -файла необходимо изменить.

3 + 4 ... вам нужно изменить цвет шрифта соответствующие абзацы. Вы можете сделать это напрямую через python -pptx или использовать стиль шрифта (python -pptx-interface ) и «записать» его в абзацы.

5 ... автоподбор не работает. Вам нужно будет рассчитать размер самостоятельно. С табличным стилем вы можете по крайней мере определить соотношение для размеров столбцов.

...