Ich experimentiere Teradata Python-Modul Tutorial hereTeradata Python-Modul Cursor-Ergebnismenge wird nach einer Iteration erschöpft
ich eine Abfrage bin Ausführung und ich möchte über das Ergebnis mehrmals auf laufen. Das Problem ist, dass, wenn ich einmal über die Ergebnismenge iteriere, ich es nicht noch einmal machen kann. Es sieht so aus, als wäre die Ergebnismenge erschöpft und für weitere Berechnungen nicht mehr verfügbar.
Bitte lesen Sie den folgenden Code für Details und schlagen vor, wie ich die Ergebnismenge erhalten kann.
import teradata
class DB():
def __init__(self):
udaExec = teradata.UdaExec (appName="HelloWorld", version="1.0",logConsole=False)
session = udaExec.connect(method="odbc", system="tddemo",username="dbc", password="dbc")
self.session = session
def fun1(self):
rows = self.session.execute("SELECT databasename, ownername FROM DBC.DATABASES where DatabaseName='financial'")
return rows
db = DB()
rows = db.fun1()
# This loop prints accurate result like
#Row 1: [financial, Samples]
for row in rows:
print(row)
# This loop does not print anything
for row in rows:
print(row)
# This line also gets printed
print("The End")
Können Sie kurz erklären, was Generatoren sind? Ich bin neu in Python – Ali
@Ali Dies ist eine gute Einführung: http://StackOverflow.com/Questions/1756096/understanding-generator-in-Python – noteness