ValueError: row index was 65536, not allowed by .xls format
阿新 • • 發佈:2020-12-23
技術標籤:python
xlwt
f = xlwt.Workbook() sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True) # 建立sheet # 將資料寫入第 i 行,第 j 列 i = 0 for data in datas: for j in range(len(data)): sheet1.write(i, j, data[j]) j += 1 i += 1 f.save(write_path) # 儲存檔案
xlrd 和 xlwt 是python中用來處理 xls 檔案的函式,其單個 sheet 限制最大行數為65535,因此,當讀寫資料量超出時就會出現如上錯誤。
如果希望有更大的儲存,建議使用 openpyxl 函式,其最大行數為1048576,儲存的檔案型別為 xlsx
openpyxl
f = openpyxl.Workbook() f.create_sheet(u'庫存-所在軌道',0) # 建立sheet sheet1 = f.active # 將資料寫入第 i 行,第 j 列(列從1開始) i = 1 for data in select_num_track: for j in range(len(data)): sheet1.cell(i, j+1, data[j]) #j += 1 i += 1 f.save(write_dir + write_filename + ".xlsx") # 儲存檔案