ubuntuusers.de

GROSSE XML Datenbank in SQL importieren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

JW1

(Themenstarter)

Anmeldungsdatum:
10. April 2009

Beiträge: 126

jaa dankeschön ... jetzt passts genau

wenn ich das gleich in MySQL importieren will, nehme ich an, dass ich die zeile

 print i, x, y, z, item

durch einen ausdruck wie z.b. diesen hier

sql = "INSERT INTO map (x,y,z,item) VALUES ('x', 'y', 'z', 'item')";
mysqli_query(db, sql);

nur mit python gültigen variablen ersetzen muss, stimmt doch, oder?

lg

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4695

Wohnort: Berlin

@JW1: Fast. In der SQL-Zeichenkette müssen für die Werte Platzhalter stehen – welche da bei MySQLdb genau verwendet werden bitte in der Doku nachsehen – und die Werte selber sind dann als Tupel (oder allgemein Sequenz) das zweite Argument von execute() auf dem Cursor-Objekt. Wobei man das Auslesen auch in eine Generatorfunktion stecken kann (Stichwort yield) und dann die execute_many()-Methode benutzen kann. Man spart sich eine explizite Schleife und wenn die Datenbank nicht allzu dämlich ist, muss der SQL-Ausdruck nur einmal kompiliert werden.

PS: In einer Generatorfunktion steckt das Auslesen aus dem XML ja bereits. ☺

Antworten |