Re: Download excel file from web?
On Tue, Jul 29, 2008 at 1:47 AM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 6:05 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 9:39 PM, MRAB [EMAIL PROTECTED] wrote: On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read:
Download excel file from web?
Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul+25%2C+2008export=Excel_IEIPerfRegional Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] -- http://mail.python.org/mailman/listinfo/python-list
Re: Download excel file from web?
On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). pat -- http://mail.python.org/mailman/listinfo/python-list
Re: Download excel file from web?
[EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: Download excel file from web?
On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat -- http://mail.python.org/mailman/listinfo/python-list
Re: Download excel file from web?
On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB so specifying 1,000,000 seems like a good idea (first approximation). And then when I do: print(response) I get a whole lot of garbage (and some non-garbage), so I know I'm onto something. When I read the .read documentation further, it says that read() has returned the data as a string object. Now - how do I convince Python that the string object is in fact an excel file - and save it to disk? pat -- http://mail.python.org/mailman/listinfo/python-list
Re: Download excel file from web?
On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB so specifying 1,000,000 seems like a good idea (first approximation). And then when I do: print(response) I get a whole lot of garbage (and some non-garbage), so I know I'm onto something. When I read the .read documentation further, it says that read() has returned the data as a string object. Now - how do I convince Python that the string object is in fact an excel file - and save it to disk? You don't need to convince Python,
Re: Download excel file from web?
On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB so specifying 1,000,000 seems like a good idea (first approximation). And then when I do: print(response) I get a whole lot of garbage (and some non-garbage), so I know I'm onto something. When I read the .read documentation further, it says that read() has returned the data
Re: Download excel file from web?
On Jul 28, 4:04 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB so specifying 1,000,000 seems like a good idea (first approximation).
Re: Download excel file from web?
On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB so specifying 1,000,000 seems like a good idea (first approximation). And then when I do: print(response) I get a whole lot of garbage (and some non-garbage), so I know I'm onto something. When I
Re: Download excel file from web?
On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read(100) The file is generally something like 26 KB
Re: Download excel file from web?
On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation that you point to. thanx - pat Or rather (next iteration): response =
Re: Download excel file from web?
On Jul 28, 5:39 pm, MRAB [EMAIL PROTECTED] wrote: On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul
Re: Download excel file from web?
On Mon, Jul 28, 2008 at 9:39 PM, MRAB [EMAIL PROTECTED] wrote: On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').read Now the question is: what to do with this? I'll look at the documentation
Re: Download excel file from web?
On Jul 28, 6:05 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 9:39 PM, MRAB [EMAIL PROTECTED] wrote: On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/
Re: Download excel file from web?
On Jul 28, 6:05 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 9:39 PM, MRAB [EMAIL PROTECTED] wrote: On Jul 29, 12:41 am, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 4:20 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 8:04 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:52 pm, Guilherme Polo [EMAIL PROTECTED] wrote: On Mon, Jul 28, 2008 at 7:43 PM, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:33 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: On Jul 28, 3:29 pm, Diez B. Roggisch [EMAIL PROTECTED] wrote: [EMAIL PROTECTED] schrieb: On Jul 28, 3:00 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi - experienced programmer but this is my first Python program. This URL will retrieve an excel spreadsheet containing (that day's) msci stock index returns. http://www.mscibarra.com/webapp/indexperf/excel?priceLevel=0scope=0;... Want to write python to download and save the file. So far I've arrived at this: [quote] # import pdb import urllib2 from win32com.client import Dispatch xlApp = Dispatch(Excel.Application) # test 1 # xlApp.Workbooks.Add() # xlApp.ActiveSheet.Cells(1,1).Value = 'A' # xlApp.ActiveWorkbook.ActiveSheet.Cells(2,1).Value = 'B' # xlBook = xlApp.ActiveWorkbook # xlBook.SaveAs(Filename='C:\\test.xls') # pdb.set_trace() response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/ excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional') # test 2 - returns check = False check_for_data = urllib2.Request('http://www.mscibarra.com/webapp/ indexperf/excel? priceLevel=0scope=0currency=15style=Csize=36market=1897asOf=Jul +25%2C+2008export=Excel_IEIPerfRegional').has_data() xlApp = response.fp print(response.fp.name) print(xlApp.name) xlApp.write xlApp.Close [/quote] Woops hit Send when I wanted Preview. Looks like the html [quote] tag doesn't work from groups.google.com (nice). Anway, in test 1 above, I determined how to instantiate an excel object; put some stuff in it; then save to disk. So, in theory, I'm retrieving my excel spreadsheet with response = urllib2.urlopen() Except what then do I do with this? Well for one read some of the urllib2 documentation and found the Request class with the method has_data() on it. It returns False. Hmm that's not encouraging. I supposed the trick to understand what urllib2.urlopen is returning to me; rummage around in there; and hopefully find my excel file. I use pdb to debug. This is interesting: (Pdb) dir(response) ['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', ' fileno', 'fp', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', ' readlines', 'url'] (Pdb) I suppose the members with __*_ are methods; and the names without the underbars are attributes (variables) (?). No, these are the names of all attributes and methods. read is a method, for example. right - I got it backwards. Or maybe this isn't at all the right direction to take (maybe there are much better modules to do this stuff). Would be happy to learn if that's the case (and if that gets the job done for me). The docs (http://docs.python.org/lib/module-urllib2.html) are pretty clear on this: This function returns a file-like object with two additional methods: And then for file-like objects: http://docs.python.org/lib/bltin-file-objects.html read( [size]) Read at most size bytes from the file (less if the read hits EOF before obtaining size bytes). If the size argument is negative or omitted, read all data until EOF is reached. The bytes are returned as a string object. An empty string is returned when EOF is encountered immediately. (For certain files, like ttys, it makes sense to continue reading after an EOF is hit.) Note that this method may call the underlying C function fread() more than once in an effort to acquire as close to size bytes as possible. Also note that when in non-blocking mode, less data than what was requested may be returned, even if no size parameter was given. Diez Just stumbled upon .read: response = urllib2.urlopen('http://www.mscibarra.com/webapp/indexperf/