[Gelöst] Mit python csv auslesen, Zeile mit Datum vergleichen und Werte der Spalte dazu ausgeben

  • Ich hänge mal wieder seit Stunden an einem wahrscheinlich einfachem Thema. :wallbash:

    Ich habe eine .csv mit 365 Zeilen, die ist wie folgt aufgebaut Monat-Tag,Wert1,Wert2, Auszug:

    Jetzt möchte ich das heutige Datum nehmen und vergleichen, wird das Datum in einer Zeile gefunden, möchte ich einen Wert der Spalte, z.B. Wert1 dazu raus bekommen.

    Also heute ist der Monat 02 und der Tag 03, dazu möchte ich den Wert(1) 119 oder Wert(2) 141 haben.

    Leider klappte das nicht, ich bekomme immer die ganze Liste.

    Im Moment sieht das so aus:

    Code
    def WertzuDatum():
        Monat_Tag = (time.strftime('%m-%d', time.localtime()))
        with open('/home/pi/WertzuDatum.csv', 'r') as WertzuDatum:
            csv_inhalt = csv.reader(WertzuDatum, delimiter=',')
            zeile = Monat_Tag
            print("Heute", zeile)
            for zeile in csv_inhalt:
                print(list(zeile))
    WertzuDatum()

    Habe auch schon ein Haufen anderer Sachen probiert, aber nichts klappt, wo liegt da der Hase im Pfeffer ?

    :helpnew:

  • [Gelöst] Mit python csv auslesen, Zeile mit Datum vergleichen und Werte der Spalte dazu ausgeben? Schau mal ob du hier fündig wirst!

    • Hilfreichste Antwort

    Hallo,

    meinst du das so?:

    Code
    def WertzuDatum():
        Monat_Tag = (time.strftime('%m-%d', time.localtime()))
        with open('/home/dennis/Dokumente/WertzuDatum.csv', 'r') as WertzuDatum:
            csv_inhalt = csv.reader(WertzuDatum, delimiter=',')
            zeile = Monat_Tag
            print("Heute", zeile)
            for zeile in csv_inhalt:
                if zeile[0] == Monat_Tag:
                    print(zeile[1], zeile[2])
    WertzuDatum()

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧


  • Falls das unter Windows gemacht werden sollte, bitte beachten das encoding explizit anzugeben und newline auf einen leeren str setzen:

    https://docs.python.org/3/library/csv.html#examples

  • Was soll's denn am Schluss geben?

    Mit pandas geht das einfacher, dafuer ist es ja da:

  • Was soll's denn am Schluss geben?

    Habs hinbekommen mit return, glaube ich. :conf:

    Das ist immer noch meine Dauerbaustelle mit dem Schrittmotor und dem Solartracker, das jetztige Programm läuft zwar, aber nicht so zufriedenstellend, wie es sein könnte. Z.B. stört mich die ständige Kalibrierung, die ist nicht nötig, schon gar nicht im Winter, da braucht sich gar nichts bewegen, das braucht nur Strom, statt zu liefern, deshalb habe ich jetzt eine .csv für jeden Tag angelegt, in der steht, ob und wieviel er sich bewegen soll. Zudem soll er nur soviel Schritte zurückmachen, wie er vorwärts gemacht hat, dazu muss er sie aber alle zählen und sich merken. Wenn sich die Anfangs- und Endpositionen ändern soll er diese zusätzlich machen. Ich habe mal ein Ablaufsplan gemacht:

    Fehler noch inklusive :lol:

  • Da kommen ja noch Werte dazu, damit man seine eigenen Daten eintragen kann, die Einfluss auf das Programm nehmen.

    Wann geht die Sonne an welchem Ort auf ?

    Steht ein Objekt vornedran, welches Schatten wirft ?

    Wann scheint die Sonne an welchem Datum auf die Panele und wo ist die Sonne genau ?

    So wenig wie möglich bewegen, also lohnt es sich überhaupt die Panele zu drehen ?

    Wieviele Schritte braucht es, um an die Position zu kommen ?

    An welchem Datum ist es zu welcher Zeit nicht mehr nötig sich weiter zu bewegen ?

    Wenn das fertig ist, dann kommt noch der Zenit ins Spiel, aber der ist ja nicht sooo krass.

Jetzt mitmachen!

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