我正在将 xlsxwriter 与 .xlsx 文件一起使用,因为我打算编写 .xls 不支持的大量数据,这就是我最初正在做的事情:
output_name = "MY_XLSX_LOG_FILE" + str(datetime.now().strftime('%Y-%m-%d %H.%M.%S')) + '.xlsx'
xlsx_document = xlsxwriter.Workbook(output_name)
xlsx_document_sheet = xlsx_document.add_worksheet('sheet_1')
xlsx_document_sheet.write(0, 0, 'Col1')
xlsx_document_sheet.write(0, 1, 'Col2')
xlsx_document_sheet.write(0, 2, 'Col3')
xlsx_document_sheet.write(0, 3, 'Col4')
xlsx_document_sheet.write(0, 4, 'Col5')
xlsx_document_sheet.write(0, 5, 'Col6')
xlsx_document_sheet.write(0, 6, 'Col7')
xlsx_document_sheet.write(0, 7, 'Col8')
xlsx_document_sheet.write(0, 8, 'Col9')
xlsx_document.close()
然后我像这样打开它:
file_name = FindLastLog() #this finds it successfuly
xlsx_document = xlrd.open_workbook(file_name)
对我来说它工作得很好,但是当我把它交给别人并且他在他的机器上运行它(相同的操作系统,相同的语言环境)时,他得到了这个:
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '\x11MyName'
'MyName'
- 我完全不知道这是如何写在 xlsx 文件中的。getbof
函数中的函数引发了异常open_workbook_xls
。在我的机器上,代码永远不会进入那里。在检查前 4 个字节是否为 的地方b"PK\x03\x04"
,我的检查为 true 并分支到xlsx.open_workbook_2007_xml
,而他的分支到xlsx.open_workbook_xls
. 我们都在Python 2.7
,我不明白完全相同的xlsxwriter
脚本正在编写不同的文件格式。这可能是什么原因造成的?