ich nutze nun MySQL zur Speicherung von Wetterdaten.
Das Schreiben der Daten in die DB funktioniert wunderbar.
Beim Lesen bin ich mir nicht ganz sicher.
Aber beim Zugriff auf die gelesenen Daten gibt's einen Fehler. Um dem Fehler näher zu kommen, wollte ich das Ergebnis der SQL-Abfrage ausgeben. Aber bereits da gibt's den gleichen Fehler
Hier ist der Programmcode
Code: Alles auswählen
def create_diagram (diafile_name, title, x_label, y_label, city, duration, history):
plot.clf
plot.title (title + " (" + city + ")")
plot.ylabel (y_label)
plot.xlabel (x_label)
plot.plot (history["datzeit"], history["temperatur"], color='#4884FF', linewidth=2, label = y_label)
plot.savefig (city + "_" + diafile_name, format="png", dpi = 150)
def main ():
SQL_str = "SELECT datzeit, temperatur, stadt FROM wetterwerte WHERE stadt = '" + city + "'"
print "SQL " + SQL_str
history = cur.execute (SQL_str)
for row in history:
print "raw data from database"
print row[0], row [1]
# Jetzt noch die Graphik erzeugen ...
my_plot = plot.figure ()
plot.setp (plot.gca().get_xticklabels(), rotation=35)
plot.grid (True)
create_diagram (plot_file_test, "Wetterdaten", "Zeit", "Temperatur", city, 0, history)
if __name__=='__main__':
main()
Wo liegt mein (Denk-) Fehler beim Zugriff auf die gelesenen Daten ?SQL SELECT datzeit, temperatur, stadt FROM wetterwerte WHERE stadt = 'YQC'
Traceback (most recent call last):
File "wetterdiagramme.py", line 193, in <module>
main()
File "wetterdiagramme.py", line 178, in main
create_diagram_for_city (city)
File "wetterdiagramme.py", line 147, in create_diagram_for_city
for row in history:
TypeError: 'long' object is not iterable