2017-10-24 3 views
0

Ich bin SQL-Abfrage in Teradata ausgeführt und möchten die Ausgabe in Excel auffüllen. Ich habe unter Code, wo Zeile Daten aus SQL hat. Erste Spalte Datum,TypeError: 'datetime.date' Objekt ist nicht iterierbar

for p in (row): 
    column_num = 1 
    for item in p: 
     _ = ws0.cell(row=row_number, column=column_num, value=item) 
     column_num = column_num + 1 
     row_number = row_number + 1 

Dieser Code Fehler aus:

TypeError: 'datetime.date' object is not iterable

Wenn ich den Code

data = str(row) 
for p in data: 
    column_num = 1 
    for item in p: 
     _ = ws0.cell(row=row_number, column=column_num, value=item) 
     column_num = column_num + 1 
     row_number = row_number + 1 

Dann Fehler tritt nicht ändern, aber Excel ist in einem bevölkerten Spalte statt Zeile. Im Folgenden finden Sie Ausgabe meiner SQL-Abfrage

Zeile 1:

[2017-09-01, 35053479.1102, 230870, 5372148.7940] 

enter image description here

+0

Haben Sie SQLAlchemy verwendet? – egon12

+0

Können Sie bitte den Einzug wie Ihren Code beheben, damit wir Ihnen helfen können. – scharette

Antwort

0

Ihr Problem ist, dass Sie nicht Ihre column_num zu 0 nach der Schleife setzen zurück. Daher fügen Sie nicht nur Zeilen hinzu.

+0

Mein Einzug war korrekt. Es wurde einfach nicht in den Kommentarbereich eingefügt. –

+0

Danke scharette. Hallo gilbertxenodike Ich benutze SQLAlchemy nicht. Ich benutze Teradata Modul –

+0

Einrückung ist immer noch falsch, fügen Sie ein Leerzeichen vor beiden für Schleifen mit nur 3 Leerzeichen – scharette

Verwandte Themen