Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Fragen zu Python und Mysql

  1. #1
    Registrierter Benutzer
    Registriert seit
    26.07.2009
    Beiträge
    19

    Fragen zu Python und Mysql

    Hallo zusammen,

    ich habe da ein paar Erklärungsbedürfnisse zum Umgang mit Variablen in Python bzw. das Verarbeiten in Mysql.

    Ich lese Daten aus einem Textfile ein:
    Code:
    with open(/pfad/zur/datei) as file:
        for _ in range(53):
            file.readline()
        daten = '%.1f' % float(file.readline()[6:])
        file.close()
    Die relevanten Daten sind in Zeile 53 der Datei zu finden.

    Frage 1: Welchen Typ hat nun die Variable "daten"?

    Wenn der Wert eine bestimmte Grenze überschreitet, ist er unplausibel und ich möchte "NULL" in die Datenbank schreiben. Dazu prüfe ich:
    Code:
        if daten > grenze:
            daten = None
    Frage 2: Wenn nun diese Bedingung erfüllt wird und daten auf "None" gesetzt wird, von welchem Typ ist dann "daten"?

    Nun möchte ich den ausgelesenen Wert in eine mysql-Datenbank schreiben.
    Dazu verwende ich:
    Code:
    cursor = db_connection.cursor()
    cursor.execute(
        """insert into datenbank set daten='%s'  ON DUPLICATE KEY UPDATE daten='%s''""", float(daten))
    (Der Code ist unvollständig und möglicherweise funktioniert es so auch nicht, aber es geht mir um das prinipielle Verständnis beim Einfügen.

    Fall 1: Meine Daten waren plausibel, also nicht leer, dann muss ich in die Spalte der Datenbank ein Float einfügen, was ich mit float(daten) erreiche.

    Frage 3: Was hat es mit dem '%s' auf sich?
    Frage 4: Was ist der Unterschied zu %s, also ohne die Hochkommata?

    Fall 2: Waren die eingelesenen Werte unplausibel, so ist ja jetzt die Variable daten leer. Jetzt funktioniert mein "insert" nicht mehr, die Fehlermeldung:
    Code:
    TypeError: float() argument must be a string or a number, not 'NoneType'
    sagt mir, dass ich hier einen Typenkonflikt habe.

    Wie macht man das richtig?
    Danke für Erläuterungen

    michel_vaclav

  2. #2
    Registrierter Benutzer
    Registriert seit
    26.07.2009
    Beiträge
    19
    Da hier keine Antworten kommen, probiere ich es in linuxforen.de.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •