Python和win32com.client似乎缺less方法,特别是SetSourceData

我正在使用Python来自动化一些Excel数据分析。 我有大部分的基础知识,但我似乎无法find任何方式成功调用SetSourceDataSeriesCollection 。 我读过这篇文章 (以及所有其他文章),发现它很有希望,但看起来并不符合我的经验。 我在Windows机器上使用Python 2.7.3,32位。

有没有人成功地使用过SetSourceDataSeriesCollection

以下是我正在使用的代码的简化版本和错误:

 chart = chartSheet.ChartObjects(1) chart.SetSourceData(chartSheet.Range("A1:B2"),PlotBy=2) 

我指定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中工作…但现在不记得它们了。)

这条线

 chart = chartSheet.ChartObjects(1) 

实际上并不返回一个Chart对象( 引号 )

该方法不等同于Charts属性。 此方法返回embedded的图表; 图表属性返回图表工作表。 使用图表属性返回embedded图表的图表对象。

我还没有尝试过,但听起来好像你需要引用chart属性,可能是这样的:

 chartObject = chartSheet.ChartObjects(1) chart = chartObject.chart