ich mehrere Werte MySQL-Tabelle hinzuzufügen bin versucht, hier ist der Code:MySQLdb und Python KeyError Handhabung
Try:
cursor.execute("INSERT INTO companies_and_charges_tmp (etags, company_id, created, delivered, satisfied, status, description, persons_entitled) VALUES ('%s, %s, %s, %s, %s, %s, %s, %s')" % (item['etag'], ch_no, item['created_on'], item['delivered_on'], item['satisfied_on'], item['status'], item['particulars'][0]['description'], item['persons_entitled'][0]['name']))
Except KeyError:
pass
Das Problem ist, dass dieser Code in der Schleife ist und manchmal einer der Werte, die beiing sind eingefügt wird, was dazu führt, dass Key Error die gesamte Einfügung aufhebt.
Wie komme ich an KeyError vorbei, wenn also der KeyError für eines der einzufügenden Elemente eintritt, werden andere noch zur Tabelle hinzugefügt und die fehlende fehlt einfach als NULL?
wie ein Charme, danke! Nur neugierig, warum mussten Sie Beschreibung und Namen getrennt behandeln? –
Sorry, ich habe das zu früh gesagt. Jetzt, wenn ich es durch die Schleife laufen lasse, erhalte ich diesen Fehler: lokales variables 'Einzelteil' referenzierte vor Zuweisung –
@KamilMieczakowski musste den Namen und die Beschreibung separat behandeln, da es Einzelteile von den subdictionaries .. als für den Fehler erhält, sicherstellen Du hast 'Item' definiert, bevor du es benutzt. Vielen Dank. – alecxe