I have some openpyxl code in my backend service (google app engine) and I'd like to load a file from google cloud store / blobstore, but passing the file stream (via blobstore reader) doesn't appear to be valid for load_workbook. xlrd has an option to pass file contents (Reading contents of excel file in python webapp2). Is there something similar for openpyxl?
blobstore_filename = '/gs{}'.format('/mybucket/mycloudstorefilename.xlsx')
blob_key = blobstore.create_gs_key(blobstore_filename)
blob_reader = blobstore.BlobReader(blob_key)
blob_reader = blobstore.BlobReader(blob_key, buffer_size=1048576)
blob_reader = blobstore.BlobReader(blob_key, position=0)
blob_reader_data = blob_reader.read()
load_workbook(blob_reader_data)
The error is: UnicodeDecodeError 'ascii' codec can't decode byte 0x9d in position 11: ordinal not in range(128)