我想通過unicode
二進制數據作爲XLRD的open_workbook
的參數(file_contents
)。數據文件類型爲.xls
。傳遞unicode二進制數據作爲XLRD的open_workbook方法的參數
來自article的文檔。
open_workbook(filename=None, logfile=sys.stdout, verbosity=0, pickleable=True, use_mmap=USE_MMAP, file_contents=None, encoding_override=None, formatting_info=False,)
file_contents
... as a string or an mmap.mmap object or some other behave-alike object. If file_contents is supplied, filename will not be used, except (possibly) in messages.
這裏是source code。
我試着這樣做:
input = StringIO.StringIO()
input.write(vals['data'])
book = xlrd.open_workbook(file_contents=input.getvalue())
但有一個錯誤:
raise XLRDError('Unsupported format, or corrupt file: ' + msg)
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '0M8R4KGx'
我該怎麼辦?
你從哪兒弄來'瓦爾斯[ '數據']'?請提供簡短的**完整**程序,以顯示您所看到的錯誤。 –
@Robᵩ這很難做到,因爲我的程序依賴於'Odoo'框架。但是當我使用'type()'它說'unicode'。該文件本身實際上是'.xls'格式,odoo基本上只接受上傳爲二進制文件,我可以通過'vals ['data']'來訪問它。 – William