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)