Ransom wrote: > Very newb here, but my question will hopefully be obvious to someone. > > Code: > > import string > from win32com.client import Dispatch > docdir = 'E:\\scripts\\Python\\RSAutomation\\' > > def getOldData(testcases): > > excel = Dispatch("Excel.Application") > excel.Workbooks.Open(docdir + 'FILE.xls') > > # load and create list from file (testcases.csv) > for rsinput in testcases.xreadlines(): > > inputlist = string.split(rsinput, ',') > > > # iterate through and update spreadsheet input > cellx = range(3,51) > values = range(0,48) > for i,r in zip(cellx, values): > > excel.ActiveSheet.Cells(i,2).Value = inputlist[r] > > # TODO: read output from cell 32,6 into a tuple or list and > then return list to __main__ > > [THIS IS WHERE I AM HAVING A PROBLEM] > print excel.ActiveSheet.Cells(32,6) <--This prints properly > as loop executes > > excel.ActiveWorkbook.Close(SaveChanges=0) > excel.Quit() > > if __name__ == "__main__": > csv_testcases = open('arse_testcases.csv','r') > getOldData(csv_testcases) > > OK, so what is happening is that I am sending a list of data to an > overly complicated spreadsheet that produces it's own output (in cell > 32,6). As I loop through multiple test cases, the print statement > calling into COM for the cell data seems to be printing out results > just fine. But when I try and put the output from the spreadsheet into > a dynamic list after the TODO section thusly: > > outputlist = [] > outputlist.extend(excel.ActiveSheet.Cells(32,6) > return outputlist > > I get an error like: > [<win32com.gen_py.Microsoft Excel 9.0 Object Library.Range instance at > 0x15450880>] > That's not an error, that's a list containing a single Python COM object.
> I need to be able to return the dynamically generated built up by the > responses from the spreadsheet lookup call (the exce.Activesheet > thingy). Is there a better way to get this dynamically built list out > of the funtion? > > Thanks!!! > I suspect that you need to apply judicious conversions to string or numeric to grab the values of the cells you are interested in, unencumbered by the COM wrappings. regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Love me, love my blog http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list