2016-04-18 9 views
0

Python 2.7のXLRDパッケージを使用して、Spyder IDEを使用してスクリプトを作成して、いくつかのセルの内容を出力しようとしています。 print.cell_value()をIDEで使用しているときに文法エラーが表示されていますが、windowsコマンドプロンプトから正しい値を返しているようです。私が見たエラーメッセージが以下の通りです:Python2.7:スクリプトでシート値を使用中に構文エラーが発生する

print sheet.cell_value(0, col) 
     ^
SyntaxError: invalid syntax 

マイコード:

from __future__ import print_function 
import xlrd 

file_name="C:/Users/Documents/Python Learn/1.xlsx" 
workbook=xlrd.open_workbook(file_name) 
sheet=workbook.sheet_by_index(0) 
NumberOfRows=sheet.nrows 
NumberOfColumns=sheet.ncols 
for col in range(sheet.ncols): 
    print sheet.cell_value(0, col) 

答えて

2

あなたはfrom __future__ import print_functionを言いました。これは、printがもはやステートメントではなく、print ...が括弧なしで無効な構文であることを意味します。

for col in range(sheet.ncols): 
    print(sheet.cell_value(0, col)) 
+0

関数をインポートすると 'print'がステートメントから別のものに変換されるかどうかはわかりません。おそらくメソッドになります。この基本についてもう少し詳しく説明してください、私が読むことができるリソースを教えてください。ありがとう、それは私のような新しい学習者の不一致を理解するのに役立ちます。 – pythonprogrammersud

+0

@pythonprogrammersud: '__future__'モジュールは、有効な構文が何であるかを変更する特別なモジュールです。この場合は、 'print_function'を使うこともできますが、' print'文を関数に置き換えてステートメントとして使用することはできませんが、関数として使用する必要があります。 [さらに読む](http://stackoverflow.com/a/7075121/5827958)。 – zondo

関連する問題