Ein Dictionary in einer MySQL-DB speichern - dabei bestimmte Zeilen auslassen

  • 0 Antworten
  • Letztes Antwortdatum
say_hello

say_hello

Dauer-User
213
guten Morgen liebe Community,


ich versuche Daten eines dictionary zu speichern in e iner mysql-Datenbank;

formal sieht das Ganze so aus:

Code:
import pymysql
conn = pymysql.connect(server, user , password, "db")
    cur = conn.cursor()
    data={'set1': '1', 'set2': '2', 'set3': '3', 'set4': '4'}
    table="genome"
    cols = data.keys()
    vals = data.values()
    sql = "INSERT INTO %s (%s) VALUES(%s)" % (
    table, ",".join(cols), ",".join(vals))

    print sql
    print data.values()
    cur.execute(sql, data.values())

    cur.close()
    conn.close()

Das Print sql statement sieht dann in Etwa so aus:

Code:
INSERT INTO genome (set1,set2,set3,set4) VALUES(1,2,3,4)

Soweit sogut:....ich sollte das script aber ein bisschen überarbeiten - denn der Datensatz sieht so aus:

Code:
{'url': 'http:www.myurl.com', 'firstname': 'Dilbert', 'lastname': 'o sullivan', 'email-adress': 'dibert@hotmail.com'}
{'url': 'http:www.myurl.org', 'firstname': 'Ben', 'lastname': 'ben_hur', 'email-adress': 'ben_hur@hotmail.com'}
{'url': 'http:www.myurl.net', 'firstname': 'Ali', 'lastname': 'the_boxer', 'email-adress': 'ali-theboxer0hotmail.de'}
{'url': 'http:www.myurl.at', 'firstname': 'meetoo', 'lastname': 'catherine', 'email-adress': 'catherine_deneuve@hotmail.com'}
{'url': 'http:www.myurl.info', 'firstname': 'michael', 'lastname': 'mueller', 'email-adress': 'michael-mueller@hotmail.com'}

Die Frage ist also die: sollte ich das Set ( mehrere tausend Zeilen ) vorher noch bearbeiten, oder gibt es einen Weg es "so wie es ist" mysql anzubieten? Darüber hinaus: Was mich noch interessiert. Wie kann ich bestimmte Datensätze rausfiltern. Ich muss alle diejenigen Datensätze rausfiltern die eine bestimmte Bedingung erfüllen: wo ein bestimmtes schlüsselwort drinne ist. mueller

m.a.W: muss alle Zeilen rausfiltern in denen "Mueller" drinne steht. Ich kann das sicher mit einem regex machen. Das geht sicher.

Frage: kann ich das alles in einem Schritt machen

Wie immer - freue mich auf einen Tipp.

Say
 

Ähnliche Themen

W
Antworten
37
Aufrufe
2.208
NebulaOne
NebulaOne
say_hello
Antworten
0
Aufrufe
430
say_hello
say_hello
Zurück
Oben Unten