Wie hier am Besten die CSV-Daten einlesen?

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
rickm
User
Beiträge: 9
Registriert: Mittwoch 14. August 2019, 13:37

Hallo, ich bin Anfänger in Python und bin für ein Studentenprojekt an einer regelungstechnischen Anwendung.
Kurze Info: Das Programm befindet sich auf einem Raspberry Pi 3 und es handelt sich um einen fahrbaren Roboter. Am Anfang einer while-True-Schleife werden sämtliche Sensordaten eingelesen und der Regelalgorithmus durchgeführt und die Stellgröße berechnet.

Nun sollen externe Sollwerte in kartesischen Koordinaten draufgegeben werden, die nach und nach abgefahren werden (von Punkt zu Punkt). Die x/y-Koordinaten wurden bisher von MatLab in eine csv-Datei geschrieben und über ssh auf den Raspberry übertragen.

Nun soll es so sein, dass der Inhalt einer Zeile so lange zur Verfügung stehen soll, bis die gemessenen Sensorwerte mit den Koordinaten übereinstimmen (Punkt erreicht) und erst dann die nächste Zeile bearbeitet wird. Wie realisiere ich das am Besten (ohne dass die Hauptschleife unterbrochen wird)?
Benutzeravatar
__blackjack__
User
Beiträge: 13115
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@rickm: Da kann man ohne Code nicht wirklich etwas zu sagen, ausser den Code halt so zu schreiben, dass er das macht was er soll.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Cpt.Tomato
User
Beiträge: 1
Registriert: Freitag 13. September 2019, 18:17

Hi,


schau dir mal Pandas an.

Damit kannst du easy Csv Datein einlesen und auch weiterverarbeiten.

https://pandas.pydata.org/

Einlesen kannst du die dann so:

Code: Alles auswählen


import pandas as pd

df = pd.read_csv("Datei.csv")

print(df)

Wie du dann die Daten wieder auslesen kannst, steht in der Doku von Pandas gut beschrieben. Oder einfach mal auf Youtube schauen.

Wenn du Pandas nicht nutzen möchtest gibt es noch diese Bib:

https://docs.python.org/2/library/csv.html

Das wäre ohne code ne Idee um anzufangen.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@rickm: innerhalb einer while-Schleife ändert sich der Scope (also der Geltungsberich) von Variablen normalerweise nicht. Heißt, deine Wertzuweisung bleibt so lange gültig, bis du sie selber überschreibst.

Du musst halt einen Bedingung in der while-Schleife haben, die prüft, ob neue Zielkoordinaten gesetzt werden soll - oder oben nicht.

Für konkreter Hilfe müsstest du, wie __blackjack__ schon sagte, mal den relevanten Teil deines Codes zeigen.

Gruß, noisefloor
Antworten