python - 获取 Excel 图表详细信息到 Python
问题描述
我有一个 excel 文件,其中有单独的表格上的图表,并且在上面绘制了多个系列。我需要做的是使用 python 绘制完全相同的范围。我的意思是以下范围:
有没有办法通过 python 访问这些信息?
解决方案
试试这个代码:
所有工作表的选项 1
import win32com.client as client
def series_output(chart):
print(f'\tChart name is {chart.Name}')
for sc in chart.SeriesCollection():
print(f'\t\t{sc.Name}: {sc.Formula}')
xl = client.Dispatch('Excel.Application')
wb = xl.Workbooks.Open(r'c:\test\Charts.xlsm')
for sh in wb.Sheets:
print(f'Processed sheet {sh.Name}')
if sh.Type == -4100: # it's chart sheet
series_output(sh)
elif sh.Type == -4167: # it's worksheet with (possible) charts
for ch in sh.ChartObjects():
series_output(ch.Chart)
wb.Close(False) # don't save & close workbook
xl.Quit()
特定工作表的选项 2
import win32com.client as client
def series_output(chart):
print(f'\tChart name is {chart.Name}')
for sc in chart.SeriesCollection():
print(f'\t\t{sc.Name}: {sc.Formula}')
xl = client.Dispatch('Excel.Application')
wb = xl.Workbooks.Open(r'c:\test\Charts.xlsm') # your own path\name
sh = wb.Sheets('Sheet1') # your own worksheet name
print(f'Processed sheet {sh.Name}')
for ch in sh.ChartObjects():
series_output(ch.Chart)
wb.Close(False) # don't save & close workbook
xl.Quit()
推荐阅读
- c++ - 是否不可能将运行时整数作为模板参数传递?
- python - 使用 gTTS (python) 时如何解决“[Errno 13] Permission denied:”
- python - Pandas groupby Id 和计数选项列表/唯一值的出现次数
- python - 从熊猫数据框中的列创建新列
- python - 如何在 Ubuntu 中将 kivy 和 python 打包为可执行文件?
- flutter - 如何在 Flutter 中结合 Riverpod StreamProvider?
- javascript - BrowserWindow.on 有一个监听器 `(event: Event) => void`。为什么事件可以包含“源”键,即使它不在事件类型中?
- javascript - 根据嵌套对象键和值合并两个对象数组
- visual-studio-code - php中语言为html且前面的文本匹配正则表达式时的Vscode键绑定
- github - 如何更改或迁移 Dev.to 上的 github 帐户?