将Excel图表详细信息获取到Python [英] Get Excel chart details to Python

查看:15
本文介绍了将Excel图表详细信息获取到Python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个EXCEL文件,它在单独的页面上有图表,它们上面绘制了多个系列。我需要做的是使用python绘制完全相同的范围。我所说的范围是指以下几点:

有没有办法通过python访问此信息?

推荐答案

尝试此代码:

选项1适用于所有图纸

import win32com.client as client


def series_output(chart):
    print(f'	Chart name is {chart.Name}')
    for sc in chart.SeriesCollection():
        print(f'		{sc.Name}: {sc.Formula}')


xl = client.Dispatch('Excel.Application')
wb = xl.Workbooks.Open(r'c:	estCharts.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'	Chart name is {chart.Name}')
    for sc in chart.SeriesCollection():
        print(f'		{sc.Name}: {sc.Formula}')


xl = client.Dispatch('Excel.Application')
wb = xl.Workbooks.Open(r'c:	estCharts.xlsm')  # your own path
ame
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()

这篇关于将Excel图表详细信息获取到Python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆