Datum;Distanz in km;Cal;Zeit In Bewegung
2022-01-06;10.00;481;01:01:10
2022-01-08;10.00;381;01:01:10
2022-02-20;10.00;205;01:01:10
2022-03-30;10.00;457;01:01:10
2022-03-30;10.00;450;01:01:10
Den Code fürs zusammenrechnen habe ich auch schon erfragt in diesem Forum .
Nun möchte ich jeden Monat berechnen. Das geht soweit, jedoch schreibe ich den Code für jeden Monat einzeln. Geht das auch einfacher?
Herzlichen Dank für ne Idee. Werner
Code: Alles auswählen
import csv
from datetime import datetime, timedelta
import os
def main():
zähler =0
monat_in_zahl = "00"
A = 0
januar_Total = 0
januar_Totalger = 0
januar_h = 0
januar_m = 0
januar_s = 0
with open("Monat_versuch.csv ", "r") as Datei:
for line in Datei:
line_splitted = line.strip().split(";")
if line_splitted[0] == "Datum":
pass
else:
datum_ganz=(line_splitted[0])
monat_in_zahl = datum_ganz[5:7]
# -- Januar einlesen ---
if monat_in_zahl == "01" :
#--- Hier berechnen
A = line_splitted[3] #Zeit auslesen
C = len(A)# Länge der Zeit anschauen 01:01:01 , 1:01:01 oder 40:15
if C == 8: #Wenn Zeit acht stellig dann 01:01:01
timeA = datetime.strptime(A, "%H:%M:%S")
januar_h = timeA.hour + januar_h
januar_m = timeA.minute + januar_m
januar_s = timeA.second + januar_s
elif C == 7:#Wenn Zeit sieben stellig dann 1:01:01
timeA = datetime.strptime(A, "%H:%M:%S")
januar_h = timeA.hour + januar_h
januar_m = timeA.minute + januar_m
januar_s = timeA.second + januar_s
elif C == 5: #Wenn Zeit fünf stellig dann 40:15
timeA = datetime.strptime(A, "%M:%S")
januar_m = timeA.minute + januar_m
januar_s = timeA.second + januar_s
elif C == 4: #Wenn Zeit vier stellig dann 4:15
timeA = datetime.strptime(A, "%M:%S")
januar_m = timeA.minute + januar_m
januar_s = timeA.second + januar_s
d1 = timedelta(hours=januar_h,minutes=januar_m, seconds=januar_s)
secs = d1.total_seconds()# timedelta in Sekunden umrechnen
# Zeit manuell formatieren
januar_h2 = int(secs // 3600) # Stunden
januar_m2 = int(secs % 3600) // 60 # Minuten
januar_s2 = int(secs % 60) # Sekunden
januar_time = str(januar_h2) + ":" + str(januar_m2) + ":" + str(januar_s2)
if __name__ == "__main__":
main()
print(januar_time)
#print(februar_time)