Regular expressions

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tobiaskb
User
Beiträge: 8
Registriert: Donnerstag 12. November 2020, 17:35

Hallo zusammen,

bei mir hakt es gerade an folgender Stelle. Ich habe den folgenden String und möchte via reg ex die float Zahlen pro AcX, AcY, AcZ auslesen und in eine DB schreiben.

String ["MPU6050", 9537, {"AcZ": 0.0375977, "AcY": -0.0314941, "AcX": 1.04004}]

Folgende reg expr habe ich gefunden, s.u. Denke, dass es die Richtige bezüglich der Extration der float Zahl ist. Ich möchte die float Zahl hinter "AcXYZ":_ auslesen. Füge ich die Anführungsstriche bei AcZ ein, führt dies zu Problemen mit der regular expression. Hier scheine ich etwas falsch zumachen und komme derzeit nicht dahinter.
Ich wäre für einen Gedankenanstoß dankbar.

Code: Alles auswählen

data = str(msg.payload.decode("utf-8"))
acc_z = re.findall("AcZ: (^[-+]?\d*\.?\d*$)", data)
Derzeitiger Output, wenn der Code läuft ist:
[]
[]

Viele Grüße
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das ist JSON. Les das einfach mit dem json-Modul ein, und greif auf die Datenstruktur entsprechend zu.
tobiaskb
User
Beiträge: 8
Registriert: Donnerstag 12. November 2020, 17:35

Danke dir. Jetzt wo du mich drauf stößt... :-)
Antworten