0

私は Xlrd を探索し始めたばかりで、正直なところ、プログラミングはまったく初めてで、いくつかの簡単な例を試してみましたが、この簡単なコードを機能させることができません。

import xlrd

book=open_workbook('C:\\Users\\M\\Documents\\trial.xlsx')
sheet=book.sheet_by_index(1)
cell=sheet.cell(0,0)
print cell

エラーが表示されます: list index out of range (コードの 2 番目から最後のビットを参照) pdf からほとんどのコードを切り取って貼り付けました...助けはありますか?

4

2 に答える 2

1

私はコンソールでそれをいじっていました。

各ステートメントを 1 つずつ実行し、それぞれの結果を表示します。シート インデックスは 0 からカウントされるため、ワークシートが 1 つしかない場合は、2 つ目のワークシートを要求しているため、範囲外のリスト インデックス エラーが発生します。

見逃している可能性のあるもう 1 つの点は、セルにデータがない場合、すべてのセルが存在するとは限らないことです。する人もいますが、しない人もいます。基本的に、xlrd の観点から存在するセルは、行列nrowsx内のものncolsです。

もう 1 つのことは、実際にセルから値を取得したい場合は、cell_valueメソッドを使用することです。これにより、文字列または浮動小数点数が返されます。

補足として、次のようにパスを書くことができます'C:/Users/M/Documents/trial.xlsx'。Python はバックエンドで/vs\を完全に処理するので、エスケープ文字をいじる必要はありません。

于 2013-02-08T20:51:31.773 に答える
1

あなたは言う:

エラーが表示されます: list index out of range (コードの 2 番目から最後のビットを参照)

疑わしい。ファイルには何枚のシートがありますか? 1枚しかないと思います。Python のインデックス作成は、1 ではなく 0 から始まります。質問を編集して、完全なトレースバックと完全なエラー メッセージを表示してください。IndexError最後から3行目に発生することが示されると思います。

sheet=book.sheet_by_index(1)
于 2013-02-08T21:13:19.600 に答える