Using xlrd and based on its API documentation , it looks like you can use something similar to this:
book = xlrd.open_workbook(file_contents=response.read())
It does not seem to support reading the file object (which, IMO, would be ideal), only accepting the file_contents method in filename or higher.
If file_contents does not exist or does not work, you will need to use tempfile to write a response to the temporary file and read this.
source share