Последняя активность 1753297680

Версия afc4d15ed1aed1b980eac6db893a8013cf49014e

bc100_fgr.py Исходник
1import pandas as pd
2
3from datetime import datetime, date, timedelta
4
5BC_START_DATE = date(2025, 3, 6)
6PRICE = 2988.00
7FILENAME = "Transaktionen.csv"
8
9TODAY = date.today()
10BC_END_DATE = BC_START_DATE + timedelta(days=365)
11
12df = pd.read_csv(
13 FILENAME,
14 converters={
15 "Betrag": lambda x: float(x.replace(",", ".")),
16 "Buchungsdatum": lambda x: datetime.strptime(x, "%d.%m.%Y").date()
17 }
18)
19
20df = df[
21 (df["Zahlungsempfänger"] == "Deutsche Bahn") &
22 (df["Verwendungszweck"].str.contains("Fahrgastrechtsfall", case=False)) &
23 (df["Betrag"] == 10) &
24 (df["Buchungsdatum"] >= BC_START_DATE)
25]
26
27current_amount = df["Betrag"].sum()
28max_amount = round(((BC_END_DATE - TODAY).days / 365) * PRICE * 0.25, 2)
29
30print("{:.2f} € von {:.2f} € ({}%)".format(
31 df["Betrag"].sum(),
32 max_amount,
33 round((current_amount / max_amount) * 100)
34))
35