使用 openpyxl 将数据系列添加到 Excel 中的现有图表 [关闭]

问题描述 投票:0回答:1

我正在进行数据分析,作为中间步骤,我正在生成一些诊断图表。我的想法是:

  1. 使用Pandas作为框架进行数据分析。
  2. 使用 Pandas 的 ExcelWriter 扩展将新处理的数据集添加到 Excel 文件的新工作表中。引擎必须是 openpyxl,因为它是唯一可以以附加模式打开 excel 文件的引擎。此 Excel 文件包含每个新数据系列的一张工作表和一张带有多个诊断图的专用工作表,其中对旧数据系列和新数据系列进行比较。
  3. 将新系列数据添加到所有诊断图表中。

在 excel 文件中,我给每个图表起了一个名字,认为这样应该可以更容易地从 openpyxl 中检索它们。

我的计划是循环遍历专用工作表中的所有现有图表,并将新系列添加到每个图表中。

这是不起作用的伪代码片段:

from openpyxl import load_workbook
wb = load_workbook(filename = 'my_file.xls')
graph_ws = wb.sheet['Graphs']
chart1 = graph_ws['MyChart'] # <-- this is the point I'm missing
xvalues = Reference(...) # add the new xvalues 
values = Reference(...) # add the new yvalues
series = Series(...) # add the new series
chart1.append(series)
wb.save()

但是在 openpyxl 文档中我找不到任何迹象表明这是可能的。抓取网页后,我发现工作表中有一个名为

_charts
的受保护成员,其中包含对工作表中所有图表的引用,但没有关于如何获取对特定命名图表的引用的文档。

如何在 openpyxl 中获取特定图表?

提前致谢, 托托


编辑:我已经编辑了问题以使其更加具体。我不是在寻找有关库的意见,而是在寻找如何使用 openpyxl 从工作簿中获取对现有图表的引用。

python pandas excel openpyxl
1个回答
-1
投票

不幸的是,无法使用 openpyxl 从现有的 Excel 工作簿中读取图表,请参阅下面一个早期的 SO 问题:

在Python中从.xlsx文件读取图表

相反,只要您保存了图表系列数据,您就可以使用 openpyxl 按照您的计划将图表重新创建到自己的工作表中。

© www.soinside.com 2019 - 2024. All rights reserved.