将Excel图表详细信息获取到Python [英] Get Excel chart details to Python
本文介绍了将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屋!
查看全文