xlsxwriter를 .xlsx 파일과 함께 사용하고 있습니다. 지원하지 않는 거대한 데이터를 작성하려고하기 때문에. XLS 여기에 내가 처음에하고 있어요 무엇 :xlsxwriter & xlrd 문제 - xlsx 파일 하나의 컴퓨터에서 ZIP로 저장되었지만 다른 컴퓨터에서 다른 처음 4 바이트 사용
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)
그것은 그의 기계 (같은 OS, 같은 로케일)에, 그는 이것을 얻는다 :
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '\x11MyName'
'MyName'
- 나는 이것이 xlsx 파일에 어떻게 쓰여졌는지 전혀 알지 못합니다. 예외는 함수 open_workbook_xls
의 함수 getbof
에서 발생합니다. 내 컴퓨터에서는 코드가 절대 입력되지 않습니다. 첫 번째 4 바이트가 b"PK\x03\x04"
인지 확인한 곳에서 광산은 참으로 확인하고 xlsx.open_workbook_2007_xml
으로 분기하고 xlsx.open_workbook_xls
으로 분기합니다. 우리 둘 다 Python 2.7
에 있는데 정확히 똑같은 xlsxwriter
스크립트가 다른 파일 형식을 쓰고 있다는 것을 이해하지 못합니다. 무엇이 이것을 일으킬 수 있습니까?
동료의 스크립트가 xlsrd.open_workbook_xls에 도착했다고 믿는 것이 매우 어렵습니다. xlrd의 게시 된 버전에는 그런 것이 없습니다. 내가 믿는 것은'book.open_workbook_xls'을 얻는 것입니다. 이것은 @ jmcnamara의 대답과 일치합니다. –