Hallo,
Hallo,
lese eine serielle USB Schnittstelle ein und möchte die Daten in eine CSV Datei speichern jede 30s.
Code
i=0
while True:
z = time.strftime("%S")
if (int(z) == 30 or int(z)==0 and i==0):
Datum=strftime("%d.%m.%Y")
Uhrzeit=strftime("%H:%M:%S")
#neu Seriell einlesne
#kampis elektroecke
ser = serial.Serial("/dev/ttyUSB0", 9600, timeout=1)
#ser.open()
print ("seropen")
Zeichen = ser.read(10000)
print (Zeichen)
ser.close()
#Textdatei erzeugen
#fobj_out=open("ehz.csv","w")
# wenn Datei vorhanden
fobj_out=open("ehz.csv","a")
#Daten in Datei schreiben
fobj_out.write(Datum + " " + Uhrzeit + " " + Zeichen +"\n")
#Datei schliessen
fobj_out.close()
i = 1
print ("Daten in Datei geschrieben")
if ((int(z)==31) or (int(z)==1)):
i = 0
Alles anzeigen
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