2013-05-01 1 views
3

일부 Excel 데이터 분석을 자동화하기 위해 Python을 사용하고 있습니다. 나는 기초의 대부분을 가지고있다. 그러나 SetSourceData 또는 SeriesCollection에 전화하는 어떤 길도 발견 할 수 없다. 나는 this post (그리고 다른 모든 것들)을 읽었으며 희망적이라고 생각했지만 내 경험과 일치하지 않는 것 같습니다. 파이썬 2.7.3, 32 비트 Windows 컴퓨터에서 사용하고 있습니다.Python과 win32com.client는 특히 SetSourceData 메서드가 누락 된 것 같습니다.

아무도 SetSourceData 또는 SeriesCollection을 성공적으로 사용 했습니까? 여기

내가 사용하고 코드의 단순화 된 버전 및 오류 발생 :

chart = chartSheet.ChartObjects(1) 

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

나는 때문에 thisPlotBy를 지정,하지만 난 그게

그리고 오류 중요한 의심 :

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' 

ARGH. IronPython을 조사해야합니까? (필자는 MSDN 설명서에 명시되어 있지만, 파이썬에서 작동하지 않는 다른 몇 가지를 발견했습니다 ...하지만 지금 기억하지 수 있습니다.)

+0

'win32com'은 훌륭하지만, [python excel] (http://www.python-excel.org/) 모듈을 사용하면 좀 더 쉽게 생활 할 수 있습니다. – danodonovan

+0

실제로 둘 다 사용합니다. 필자가 할 수있는 한 Python 엑셀 모듈을 사용하지만 필자가 주요 목표 중 하나는 비 프로그래머가보고 편집 할 수있는 Excel 개체 (차트 및 테이블)의 "페이퍼 트레일"을 만드는 것입니다. 프로그램이 떨어지면 짧은. –

답변

1

이 줄

chart = chartSheet.ChartObjects(1) 

실제로 어쩌면 같이, 나는이 시도하지 않은 (quote)

This method is not equivalent to the Charts property. This method returns embedded charts; the Charts property returns chart sheets. Use the Chart property to return the Chart object for an embedded chart.

Chart 개체를 반환하지만, 당신이 chart 속성을 참조 할 필요 것처럼 소리하지 않습니다

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

ACK! 고맙습니다! 그것은 정확하게 그것을했습니다. –

관련 문제