Fehlermeldung Serielle Schnittstelle in Csv Datei

  • Hallo,

    Hallo,

    lese eine serielle USB Schnittstelle ein und möchte die Daten in eine CSV Datei speichern jede 30s.

    Erhalte folgende Fehlermeldung:

    TypeError: Can#t convert 'bytes' object to string
    in der Zeile fobj.write(Datum + " " + Uhrzeit + " " + Zeichen + "\n)

    Die Daten in Zeichen kommen so rein: \xc500\xb2\xb8\xc5\x8d\n\x8d\n\xb1-0:0.0.0\xaa\xb255(\xb20\xb836\xb2\xb7\xb8\xa9\x8d\n\xb1-0:\xb1.\xb8.\xb1\xaa\xb255(0\xb10\xb75\xb4.\xb26\xb1\xb2\xa9\x8d\n\xb1-0:\xb2.\xb8.\xb1\xaa\xb255(0\xb23933.9903\xa9\x8d\n

    Wie bekomme ich diese Daten in eine CSV als Byte oder Bit? Was bedeutet der \ immer?


    Wäre super wenn ihr mir ein paar Tipps geben könnt

  • Hallo,

    Python kennt Zeichenketten als Bytes und als String. Über die serielle Schnittstelle kommen die Zeichenkette als Bytes (nicht zu verwechseln mit den Bytes = 8 Bit), wenn du in die Datei schreibst, erwarten Python aber einen String.

    Dazu kennen Byte-Objekte die `decode()` Methode.


    Außerdem möchtest du zum Erzeugen von CSV-Dateien das csv-Modul aus der Python Standardbibliothek nehmen.

    Gruß, noisefloor

Jetzt mitmachen!

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