使用具有背景填充的单元格将列添加到列表

时间:2019-05-02 18:43:48

标签: python openpyxl python-pptx

我组织的成员希望能够对大型信息电子表格进行颜色编码,然后使用(使用Openpyxl)Python将这些信息插入PowerPoint(使用Python-pptx),将其拖入系列列表。除了“系列”(序列需要名称和系列数据(组织在可能不相邻的单独列中))之外,我已经能够正常工作。

这是我到目前为止所拥有的

        series_count = 2
        while series_count <= ws.max_column:
            for s in range(2, ws.max_column + 1):
                series_list = []                
                series_name = ws.cell(4, series_count).value
                for c in range(4, ws.max_row + 1):
                    cell = ws.cell(row = c, column = series_count)
                    if cell.value != series_name:
                        series_list.append(cell.value)
                chart_data.add_series(series_name, series_list, '0%') #Meant to take the series_name and series_list and create a chart using python-pptx
                series_count += 1

这仅捕获一个系列,并且没有将其插入图表数据中。我没有任何例外,但是在打开PowerPoint文档时,只有空白图表字段。

如果数据在相邻的列中,我可以手动设置范围,但是长期来看这是不可行的。

        series_count = 2
        while series_count <= ws.max_column:
            for s in range(2, ws.max_column + 1):
                series_list = []                
                series_name = ws.cell(4, series_count).value
                for c in range(4, ws.max_row + 1):
                    cell = ws.cell(row = c, column = series_count)
                    if cell.value != series_name:
                        series_list.append(cell.value)
                chart_data.add_series(series_name, series_list, '0%')
                series_count += 1

我是新手,所以很高兴考虑解决该问题的其他方法,这些方法可以用最少的技术同事的最少投入获得相同的结果。 (他们可以管理颜色,但其他格式效果不佳。)

感谢您的协助!

1 个答案:

答案 0 :(得分:0)

此代码似乎对我有用。

didSelectRowAt

感谢您的协助!