使用Python对PowerPoint图表数据进行排序?

时间:2019-06-28 21:31:00

标签: python openpyxl python-pptx

我正在使用Openpyxl从excel电子表格中获取图表数据。

我需要能够对这些数据进行最大到最小的排序,而不会使其变得混乱。有时图表中有多个系列。

有没有一种方法可以实现这一目标?

如果无法在放入地块之前对其进行排序,是否可以通过某种方式对其进行排序?我想它将需要定位然后进行排序。这对于文档中的每个图表都需要发生。

1 个答案:

答案 0 :(得分:0)

这是我为解决此问题所做的工作,目前看来它正在工作。如果有人有建议可以使此过程更加简化,那么我很高兴!

        for cat in data_collect['categories']: #creates new lists by category
            new_list = []
            for key in data_collect:
                if key != 'categories':
                    new_list.append(data_collect[key][indexcounter])  
                else:
                    pass
            new_list.insert(1, cat)
            indexcounter += 1
            data_sort.append(new_list)

        data_sort.sort() #sorts list by first column
        cat_list_sorted = []

        for lst in data_sort: #removes sorted category list and drops it into the chart
            cat_list_sorted.append(lst[1])
            del lst[1]
        chart_data.categories = cat_list_sorted

        indexcounter = 0 #pulls data back apart and creates new series lists. Drops each series into ChartData()
        while indexcounter < len(series_name_list):
            series_sorted = []
            for lst in data_sort:
                series_sorted.append(lst[indexcounter])
            series_name = series_name_list[indexcounter]
            chart_data.add_series(series_name, series_sorted, '0%')
            indexcounter += 1```