我正在使用Python来自动化一些Excel数据分析。我有大部分基础知识,但我似乎找不到任何方法可以成功拨打SetSourceData
或SeriesCollection
。我读过this post(和所有其他人)并发现它有希望,但它似乎与我的经验不符。我在Windows机器上使用Python 2.7.3,32位。
是否有人成功使用过SetSourceData
或SeriesCollection
?
这是我正在使用的代码的简化版本和错误:
chart = chartSheet.ChartObjects(1)
chart.SetSourceData(chartSheet.Range("A1:B2"),PlotBy=2)
我因this而指定PlotBy
,但我怀疑是否重要
错误:
raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
AttributeError: '<win32com.gen_py.Microsoft Excel 14.0 Object Library.ChartObject instance at 0x68557120>' object has no attribute 'SetSourceData'
哎呀。我应该看看IronPython吗? (我发现了MSDN文档中指定的一些其他内容,但似乎不适用于Python ......但现在不能记住它们。)
答案 0 :(得分:1)
这一行
chart = chartSheet.ChartObjects(1)
实际上并不返回Chart
个对象(quote)
此方法不等同于Charts属性。此方法返回嵌入图表;图表属性返回图表。使用Chart属性返回嵌入图表的Chart对象。
我没试过这个,但听起来好像你需要引用chart
属性,可能是这样的:
chartObject = chartSheet.ChartObjects(1)
chart = chartObject.chart