使用xlwt:
写入excel文件时收到此消息行索引(u'RN')不是范围内的int(65536)
抛出错误的一行来自这里:
sheet.write(x,fieldKey, row.OBJECTID)
x
是一个计数器,我设置为设置行值,fieldKey
是设置列值的另一个计数器。
我不知道为什么我收到此消息,因为值(u'RN')是一个字符串值,但它告诉我它不是范围内的int(65536)。我相信范围(65536)是excel表的限制。再一次,我只写了18条记录,所以我不明白为什么会出现这个错误。有人可以帮忙吗?
谢谢, 麦克
答案 0 :(得分:4)
这是因为你不能写入超过65536行的excel。 (您现在可以使用xlsx格式)。我有同样的问题,试试.to_csv()
答案 1 :(得分:1)
答案 2 :(得分:1)
您得到的错误是因为x
(行索引)不是数字,而是字符串。检查您传递给sheet.write
方法的值;前两个必须是数字(尝试在打电话前打印它们)。
答案 3 :(得分:0)
你可以在def init (self,rowx,parent_sheet)里面的row.py中更改限制,让我们以x2为例:
if not (isinstance(rowx, int) and 0 <= rowx <= 131071):
从
更改if not (isinstance(rowx, int) and 0 <= rowx <= 65536):