Python und Postgresql

  • Hallo an alle,

    ich versuche gerade über Python den PI dazu zu bringen das er in eine Postgresql Datenbank schreiben soll. Davon mal abgesehen das manch einer vielleicht gern ein anderes DBMS nutzen würde wollen. Muss das doch gehen :@

    Wie ihr sehen könnte habe ich schon die doppelten Anführungsstrichen escaped aber trotzdem schreibt er nicht in die db!

    Der Insert wurde von mir vorher getestet und funktioniert so in pgadmin! aber irgendwie habe ich noch einen Fehler beim Escapen oder so. Eine Fehlermeldung wird nicht angezeigt.

    Kann mir jemand helfen oder tipps geben?

    Danke schon mal vorab.

    • Offizieller Beitrag
    Code
    ("INSERT INTO Zeiten (Timestamp, Wert) VALUES (%s, %s)",  (now(), 111.11))

    sollte gefühlt klappen. Ich glaub psycopg2 kümmert sich um die ganze Typkonvertierung

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (29. November 2016 um 22:39)

  • hallo dbv danke für deine Antwort. Ich glaub aber nicht das psycopg2 wirklich kann.

    Code
    cur.execute"INSERT INTO "Zeiten" ("Timestamp","Wert") VALUES (now(),111.11)");


    also ohne Escape-Zeichen kommt er mit den doppelten Anführungsstrichen nicht klar.

    Einmal editiert, zuletzt von tutter (29. November 2016 um 22:59)

  • Zuerstmal solltest du deine Spalte nicht "timestamp" nennen, sondern zB "Zeitstempel" (die andere heisst ja auch Wert und nicht Value), und wie durch ein Wunder loest sich das Problem, dass du doppelte Anfuehrungszeichen brauchst.

    Zum anderen kannst du in Python auch single-quote oder triple-double/single-quotes nutzen:

    'dies ist ein Text mit doppelten " Anfuehrungszeichen'
    '''Dies ist ein anderer Text " mit eben diesen Zeichen'''
    """Auch das hier funktioniert" """

    Last but not least musst du natuerlich auch conn.commit() aufrufen, sonst landet hier nix in der Datenbank...

  • @__deets__ thx! mit hat die ganze zeit das commit gefällt!!! mit dem escapen der zeichen klappt das ganze jetzt super! danke dir! gibt es auch sowas wie eine Fehlerkonsole für python oder eine schönere Entwicklungsumgebung? zur zeit nutze ich den Editor nano unter raspian OS

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!