Bei INSERT-INTO immer 'list-index out of range'
Verfasst: Mittwoch 14. Dezember 2011, 12:22
Hallo Forumsmitglieder,
ich schreibe an einem Auswertetool für mein GPS-Gerät. Dazu lese ich alle Daten von einer CSV-Datei ein, speichere sie in einem array und möchte sie anschließend in SQLite3 übertragen.
Datenverbindung zu SQLite funktioniert. Tabelle ist vorhanden und Tabellenstruktur stimmt. Nur beim Insert-Befehl wirft er mir immer einen Fehler und ich verstehe es nicht. Ich lasse mir extra vorher noch die Länge des Arrays ausgeben, damit ich sehe ob diese stimmt. Und trotzdem wirft Python mir immer wieder die Meldung:
Ich verstehe es nicht. Kann mir jemand helfen?
Hier der ganze INSERT, die Länge des Arrays ist definitiv 11:
Wenn ich beim Insert-Befehl das Array nur bis 8 auslese und die letzten 3 Werte immer mit dem Wert "clearedset[j][8]" befülle - funktioniert es. Aber das sind halt die falschen Werte
ich schreibe an einem Auswertetool für mein GPS-Gerät. Dazu lese ich alle Daten von einer CSV-Datei ein, speichere sie in einem array und möchte sie anschließend in SQLite3 übertragen.
Datenverbindung zu SQLite funktioniert. Tabelle ist vorhanden und Tabellenstruktur stimmt. Nur beim Insert-Befehl wirft er mir immer einen Fehler und ich verstehe es nicht. Ich lasse mir extra vorher noch die Länge des Arrays ausgeben, damit ich sehe ob diese stimmt. Und trotzdem wirft Python mir immer wieder die Meldung:
Code: Alles auswählen
File "C_SQLite.py", line 45, in csv2sql
clearedset[j][9],\
IndexError: list index out of range
Hier der ganze INSERT, die Länge des Arrays ist definitiv 11:
Code: Alles auswählen
tkMessageBox.showinfo("", str(len(clearedset[0])))
for j in range (len(clearedset)):
self.cursor.execute('INSERT INTO "t_csvlogs" (id, ord, car, lat, lon, elev, diststart, distlast, bearing, speed, date, time) VALUES (null,?,?,?,?,?,?,?,?,?,?,?)', \
( clearedset[j][0], \
clearedset[j][1], \
clearedset[j][2], \
clearedset[j][3], \
clearedset[j][4], \
clearedset[j][5], \
clearedset[j][6], \
clearedset[j][7], \
clearedset[j][8], \
clearedset[j][9],\
clearedset[j][10]))
self.connection.commit()