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

解决ValueError: row index was 65536, not allowed by .xls format问题


问题描述

在python中用 xlwt 输出 xls 文件,报错如下:

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

解决方法

xlrdxlwt 是python中用来处理 xls 文件的函数,其单个 sheet 限制最大行数为65535,因此,当读写数据量超出时就会出现如上错误。
如果希望有更大的存储,建议使用 openpyxl 函数,其最大行数为1048576,存储的文件类型为 xlsx 。

import openpyxl

def writetoxlsx():
	data = open('./data.txt', 'r')
	outwb = openpyxl.Workbook()  # 打开一个将写的文件
	outws = outwb.create_sheet(index=0)  # 在将写的文件创建sheet
	
	i = 1  # 注意:'cell'函数中行列起始值为1
	for line in data:  
	    for x in range(0,len(line)):  	     
	        ws.cell(column = x+1 , row = i , value = "%s" % line[x])  
	    i += 1  
	  
    savexlsx = "./results.xlsx"
    outwb.save(savexlsx)  # 保存结果
    data.close()

补充: outwb.create_sheet()index 表示表示 sheet 序号,也可以直接用 ‘name’ 命名。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值