0

xlwt を使用して Excel ファイルに書き込むと、次のメッセージが表示されます。

行インデックス (u'RN') が範囲内の int ではありません (65536)

エラーをスローする行は次のとおりです。

sheet.write(x,fieldKey, row.OBJECTID)

xの値を設定するために設定したカウンターと、列の値fieldKeyを設定する別のカウンターです。

値 (u'RN') が文字列値であるため、このメッセージが表示される理由はわかりませんが、範囲 (65536) の int ではないことを示しています。範囲(65536)がExcelテーブルの限界だと思います。繰り返しますが、私は 18 レコードしか書いていなかったので、なぜこのエラーが発生したのかわかりません。誰でも助けることができますか?

ありがとう、マイク

4

4 に答える 4

4

これは、65536 行を超えて Excel に書き込むことができないためです。(xlsx形式でできるようになりました)。同じ問題がありました。 .to_csv() を試してください

于 2014-07-25T20:38:36.913 に答える
1

この SO の投稿によると、sheet.write への引数は ycoord,xcoord,value である必要があります

したがって、sheet.write(0,0,answer1)のようなものにする必要があります

回答に基づいて編集されました。

于 2013-07-12T22:30:07.043 に答える
1

あなたが得ているエラーは、x(行インデックス)が数値ではなく文字列であるためです。sheet.writeメソッドに渡す値を確認してください。最初の 2 つは数字でなければなりません (電話をかける前に印刷してみてください)。

于 2013-07-12T22:38:04.327 に答える