2016-04-18 9 views
0

Ich versuche, einige Zellinhalte mit dem XLRD-Paket in Python 2.7 auszudrucken, indem ich die Spyder IDE zum Erstellen eines Skripts verwende. Ich sehe einen Syntaxfehler bei der Verwendung des Befehls print sheet.cell_value() auf der IDE, während es scheint, korrekte Werte zurückzugeben, wenn von der Windows-Eingabeaufforderung verwendet. Die Fehlermeldung, die ich sehe, ist unten:Python2.7: Syntaxfehler bei Verwendung von Druckblattwerten mit einem Skript

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

Mein Code:

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) 

Antwort

2

Sie sagte from __future__ import print_function. Das bedeutet, dass print keine Anweisung mehr ist und print ... ohne Klammern ungültige Syntax ist. Fügen Sie einfach die Klammern hinzu:

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

Ich bin nicht klar, wenn das Importieren einer Funktion die 'print' Anweisung in etwas anderes, vielleicht eine Methode verwandelt. Könntest du bitte ein wenig mehr über dieses Grundlegende ausführen oder auf die Ressource zeigen, die ich lesen kann? Vielen Dank, es hilft, die Diskrepanz für einen neuen Lernenden wie mich zu verstehen. – pythonprogrammersud

+0

@pythonprogrammersud: Das Modul '__future__' ist ein spezielles Modul, das die gültige Syntax ändert. In diesem Fall könnten Sie ja 'print_function' verwenden, aber es ersetzt auch die' print'-Anweisung durch eine Funktion, so dass sie nicht mehr als Anweisung verwendet werden kann, sondern als Funktion verwendet werden muss: mit Klammern. [Weitere Informationen] (http://stackoverflow.com/a/7075121/5827958). – zondo

Verwandte Themen