1. 程式人生 > 其它 >ValueError: row index was 65536, not allowed by .xls format

ValueError: row index was 65536, not allowed by .xls format

技術標籤: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")  # 儲存檔案

在這裡插入圖片描述