2017-05-20 6 views
0

私はxlrdモジュールを使用してPythonでExcelファイルを読んでいます。サンプルコードはAttributeErrorを表示しています: 'unicode'オブジェクトには、xlrd pythonに 'nrows'属性はありませんか?

import xlrd 
import sys 
import glob 

workbook = xlrd.open_workbook('nvm_sw_cfg_parm_master_v85.xlsx') 
sheet_names = workbook.sheet_names() 
print('Sheet Names', sheet_names) 
for sheet in sheet_names: 
    print sheet 
    print sheet.nrows 

です。これは私が試しているサンプルコードです。このコードでは、私は、シート名を読み取ることができることができますが、私はそれが

AttributeError: 'unicode' object has no attribute 'nrows' 

のようなエラーを示し、シート内の行のない合計を読んでいないとき、私はクラス名のコールシートがあるライブラリファイルのドキュメントを経ていその中でのnrowsが定義されていますが、コードからこれを呼び出すことができます。誰かがこのエラーやExcelファイルを読み込むための他のモジュールを解決する手助けをすることができます。

答えて

1

xlrdsheetは、nrows属性を持っています。しかし、あなたのコードは変数sheetを文字列値に設定しています。このライン:

sheet_names = workbook.sheet_names() 

ないシートのリストを返します。

sheets = workbook.sheets() 
for sheet in sheets: 
    ... 

次に変数sheetが実際に単なる文字列のシートが含まれ、そしてません:あなたは自分の名前よりもシートに関する詳しい情報が必要な場合は、あなたのコードだけではなく自分の名前、シートを取得する必要があります。

関連する問題