Ich mache meine ersten Schritte mit Python und SQL-Datenbanken und bin immer noch nicht sicher, welches Paket zu verwenden und wie. Ich habe eine Liste mit ca. 300k Wörterbüchern mit jeweils etwa 20 Schlüsseln. Diese Dicts sollen in eine SQL-Tabelle eingefügt werden.Einfügen einer Liste von Wörterbüchern in eine SQL-Tabelle mit Python
Meiner Meinung nach ist der Vorteil der Liste der dict Ansatz, dass ich explizit die Spalten benennen, in denen ich bestimmte Werte eingeben möchte. (Es könnte sein, dass dies kein guter Ansatz ist)
Lassen Sie mich ein konkreteres Beispiel vorstellen, das das Wesentliche meines Problems erfasst. Die Tabelle besteht aus drei Spalten: ID (Ganzzahl), Preis (Dezimal), Typ (Zeichenfolge). Type unterstützt Nullwerte.
Die Tasten meiner dict haben den gleichen Namen und die Liste der dicts könnte wie folgt aussehen:
lst = [{'ID':1, 'Price': '9.95', 'Type': None},
{'ID':2, 'Price': '7.95', 'Type': 'Sports'},
{'ID':3, 'Price': '4.95', 'Type': 'Tools'}, ...]
So sind die Fragen, die die folgenden auftreten werden:
- Ist der Ansatz dicts das Recht? (Beachten Sie, dass ich 20 Spalten habe)
- Wenn ja/oder nein: Wie sollte man eine solche Abfrage effizient durchführen?
- Ist es erforderlich, die Preise in Dezimal und vor der SQL-Anweisung zu konvertieren, oder kann dies "on-the-fly" erreicht werden
- Wird der None-Wert automatisch in null konvertiert, oder ist zusätzliche Arbeit erforderlich? ?
Welche Art von Projekt arbeiten Sie? Wenn Sie Python und eine Datenbank verwenden, kann die Implementierung eines MVC wie Django hilfreich sein. https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93Controller https://www.djangoproject.com/ –
Ich hole Daten von einem Webscraping-Service (mehrere JSON-Dateien) und müssen Informationen extrahieren, die ich in einen MSSQL-Server einfüge. – Quickbeam2k1
Ich gehe davon aus, dass dies einmalig ist, also ist die Implementierung eines gesamten Frameworks kein nützlicher Vorschlag. Welche Art von SQL verwenden Sie? Viele DBs unterstützen Masseneinfügungen in verschiedenen Formaten (dh das Schreiben Ihrer webscraped Daten in eine Datei kann nützlicher sein). Z.B. https://msdn.microsoft.com/en-CA/library/ms188609.aspx (bearbeiten falschen Link) –