commit some shii
This commit is contained in:
@@ -5,8 +5,8 @@ filename = "Jahresabschluss.csv"
|
|||||||
firmen = []
|
firmen = []
|
||||||
rechnungssummen = []
|
rechnungssummen = []
|
||||||
|
|
||||||
with open(filename, newline='', encoding='utf-8') as csvfile:
|
with open(filename, newline="") as csvfile:
|
||||||
reader = csv.reader(csvfile, delimiter=';')
|
reader = csv.reader(csvfile, delimiter=";")
|
||||||
next(reader)
|
next(reader)
|
||||||
for row in reader:
|
for row in reader:
|
||||||
firmen.append(row[2])
|
firmen.append(row[2])
|
||||||
|
|||||||
64
csv/netflix/main.py
Normal file
64
csv/netflix/main.py
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import csv
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
typen = []
|
||||||
|
jahre = []
|
||||||
|
ratings = []
|
||||||
|
dauern = []
|
||||||
|
seasons = []
|
||||||
|
titles = []
|
||||||
|
|
||||||
|
count_types = defaultdict(int)
|
||||||
|
count_ratings = defaultdict(int)
|
||||||
|
|
||||||
|
with open("netflix.csv", encoding="utf-8") as f:
|
||||||
|
reader = csv.reader(f, delimiter=';')
|
||||||
|
|
||||||
|
header = next(reader)
|
||||||
|
|
||||||
|
for row in reader:
|
||||||
|
show_id, typ, title, director, country, release_year, rating, duration, season, listed_in = row
|
||||||
|
|
||||||
|
typen.append(typ)
|
||||||
|
titles.append(title)
|
||||||
|
count_types[typ] += 1
|
||||||
|
count_ratings[rating] += 1
|
||||||
|
|
||||||
|
jahre.append(int(release_year) if release_year.strip() else 0)
|
||||||
|
ratings.append(rating)
|
||||||
|
dauern.append(int(duration) if duration.strip() else 0)
|
||||||
|
seasons.append(int(season) if season.strip() else 0)
|
||||||
|
|
||||||
|
anz_movies = count_types["Movie"]
|
||||||
|
anz_series = count_types["TV Show"]
|
||||||
|
|
||||||
|
movies_vor_2020 = sum(
|
||||||
|
1 for t, j in zip(typen, jahre) if t == "Movie" and j != 0 and j < 2020
|
||||||
|
)
|
||||||
|
|
||||||
|
anz_pg13 = count_ratings["PG-13"]
|
||||||
|
|
||||||
|
movie_dauern = [d for t, d in zip(typen, dauern) if t == "Movie" and d > 0]
|
||||||
|
durchschnitt_dauer = (sum(movie_dauern) / len(movie_dauern)) if movie_dauern else 0
|
||||||
|
|
||||||
|
shows_eine_season = [
|
||||||
|
title for t, title, s in zip(typen, titles, seasons)
|
||||||
|
if t == "TV Show" and s == 1
|
||||||
|
]
|
||||||
|
|
||||||
|
if seasons:
|
||||||
|
max_season = max(seasons)
|
||||||
|
stelle = seasons.index(max_season)
|
||||||
|
show_mit_meisten_seasons = titles[stelle]
|
||||||
|
else:
|
||||||
|
max_season = 0
|
||||||
|
show_mit_meisten_seasons = None
|
||||||
|
|
||||||
|
print(f"Anzahl Movies: {anz_movies}")
|
||||||
|
print(f"Anzahl Serien: {anz_series}")
|
||||||
|
print(f"Movies vor 2020: {movies_vor_2020}")
|
||||||
|
print(f"Anzahl PG-13 Inhalte: {anz_pg13}")
|
||||||
|
print(f"Durchschnittliche Movie-Dauer: {durchschnitt_dauer:.2f} Minuten")
|
||||||
|
print(f"{'-'*80}\nTV-Shows mit nur 1 Season:", *shows_eine_season, sep="\n")
|
||||||
|
print(f"{'-'*80}\nTV-Show mit den meisten Seasons: {show_mit_meisten_seasons} mit {max_season} Seasons")
|
||||||
8808
csv/netflix/netflix.csv
Normal file
8808
csv/netflix/netflix.csv
Normal file
File diff suppressed because it is too large
Load Diff
31
csv/weihnachtslotterie/main.py
Normal file
31
csv/weihnachtslotterie/main.py
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import csv
|
||||||
|
import random
|
||||||
|
|
||||||
|
datei = "namen.csv"
|
||||||
|
schueler = []
|
||||||
|
|
||||||
|
with open(datei, newline="") as csvfile:
|
||||||
|
reader = csv.DictReader(csvfile, delimiter=";")
|
||||||
|
for row in reader:
|
||||||
|
schueler.append({"Name": row["Name"], "Klasse": row["Klasse"]})
|
||||||
|
|
||||||
|
gewinner = random.sample(schueler, 6)
|
||||||
|
|
||||||
|
preise = {
|
||||||
|
"3 Preis": gewinner[0:3],
|
||||||
|
"2 Preis": gewinner[3:5],
|
||||||
|
"1 Preis": gewinner[5:6]
|
||||||
|
}
|
||||||
|
|
||||||
|
print("Weihnachtslotterie\n")
|
||||||
|
print("Ausgespielt werden")
|
||||||
|
print("1 Hauptpreis")
|
||||||
|
print("2 Preis 2 mal")
|
||||||
|
print("3 Preis 3 mal\n")
|
||||||
|
|
||||||
|
for kategorie in ["3 Preis", "2 Preis", "1 Preis"]:
|
||||||
|
print("-" * 80)
|
||||||
|
for person in preise[kategorie]:
|
||||||
|
artikel = "des" if kategorie == "1. Preis" else "eines"
|
||||||
|
print(f"Der Gewinner {artikel} {kategorie}es ist {person["Name"]} aus der {person["Klasse"]}")
|
||||||
103
csv/weihnachtslotterie/namen.csv
Normal file
103
csv/weihnachtslotterie/namen.csv
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
Nr;Klasse;Name
|
||||||
|
1;6a;Lilli Marie
|
||||||
|
2;6a;Lena Maria
|
||||||
|
3;6a;Miriam
|
||||||
|
4;6a;Valentina
|
||||||
|
5;6a;Emily
|
||||||
|
6;6a;Laura
|
||||||
|
7;6a;Eva
|
||||||
|
8;6a;Lara
|
||||||
|
9;6a;Mykyta
|
||||||
|
10;6a;Selina
|
||||||
|
11;6a;Julia
|
||||||
|
12;6a;Anna-Lisa
|
||||||
|
13;6a;David-Dimitrie
|
||||||
|
14;6a;Sarah Marie
|
||||||
|
15;6a;Nicole
|
||||||
|
16;6a;Pavlo
|
||||||
|
17;6a;Alexandra
|
||||||
|
18;6b;Vandita
|
||||||
|
19;6b;Nico
|
||||||
|
20;6b;Sascha
|
||||||
|
21;6b;Lena
|
||||||
|
22;6b;Elias
|
||||||
|
23;6b;Maximilian
|
||||||
|
24;6b;Niklas
|
||||||
|
25;6b;Ilia
|
||||||
|
26;6b;Celina
|
||||||
|
27;6b;Pia-Amelie
|
||||||
|
28;6b;Mona
|
||||||
|
29;6b;Luzia
|
||||||
|
30;6b;Anna
|
||||||
|
31;6b;Jeremias
|
||||||
|
32;6b;Marie
|
||||||
|
33;6b;Mark Lipeng
|
||||||
|
34;6b;Sebastian
|
||||||
|
35;6c;Adrian
|
||||||
|
36;6c;Emma
|
||||||
|
37;6c;Ella
|
||||||
|
38;6c;Johanna
|
||||||
|
39;6c;Jana
|
||||||
|
40;6c;Raphael
|
||||||
|
41;6c;Klara
|
||||||
|
42;6c;Sarah
|
||||||
|
43;6c;Frida
|
||||||
|
44;6c;Anna
|
||||||
|
45;6c;Katrin
|
||||||
|
46;6c;Maja
|
||||||
|
47;6c;Sebastian
|
||||||
|
48;6c;Sophia
|
||||||
|
49;6c;Sophie Luisa
|
||||||
|
50;6c;Alice Isabell
|
||||||
|
51;6c;Verena
|
||||||
|
52;6c;Valentina
|
||||||
|
53;6c;Anna
|
||||||
|
54;6c;Illia
|
||||||
|
55;6c;Larissa
|
||||||
|
56;6c;Manuel
|
||||||
|
57;6c;Anna
|
||||||
|
58;6c;Michael
|
||||||
|
59;6c;Paula
|
||||||
|
60;6c;Nina
|
||||||
|
61;6c;Bianca
|
||||||
|
62;6c;Felix
|
||||||
|
63;6ds;Nina
|
||||||
|
64;6ds;Matthias
|
||||||
|
65;6ds;Nils
|
||||||
|
66;6ds;Jonathan
|
||||||
|
67;6ds;Luka
|
||||||
|
68;6ds;Emilia
|
||||||
|
69;6ds;Emma
|
||||||
|
70;6ds;Matthias
|
||||||
|
71;6ds;Tristan
|
||||||
|
72;6ds;Jakab
|
||||||
|
73;6ds;Paul
|
||||||
|
74;6ds;Maximilian
|
||||||
|
75;6ds;Zoey
|
||||||
|
76;6ds;Benedikt
|
||||||
|
77;6ds;Samuel
|
||||||
|
78;6ds;Nina
|
||||||
|
79;6ds;Moritz
|
||||||
|
80;6ds;Patrick
|
||||||
|
81;6ds;Din
|
||||||
|
82;6ds;D<>niel
|
||||||
|
83;6ds;Theresa
|
||||||
|
84;6ds;Michael
|
||||||
|
85;6ds;Katharina
|
||||||
|
86;6es;Linda
|
||||||
|
87;6es;Kevin
|
||||||
|
88;6es;Luisa
|
||||||
|
89;6es;Anna
|
||||||
|
90;6es;Florian
|
||||||
|
91;6es;Elias
|
||||||
|
92;6es;Hannah
|
||||||
|
93;6es;Simon
|
||||||
|
94;6es;Patrick
|
||||||
|
95;6es;Maximilian
|
||||||
|
96;6es;Timo
|
||||||
|
97;6es;Paul
|
||||||
|
98;6es;Paul
|
||||||
|
99;6es;Nico
|
||||||
|
100;6es;Anika
|
||||||
|
101;6es;Matteo
|
||||||
|
102;6es;Jakob
|
||||||
|
28
csv/üben1/main.py
Normal file
28
csv/üben1/main.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# -*- coding: ansi -*-
|
||||||
|
import csv
|
||||||
|
|
||||||
|
seen = []
|
||||||
|
|
||||||
|
fieldnames = ["Name", "Bundesland", "Flaeche", "Maximale Seetiefe", "Seevolumen", "Anzahl"]
|
||||||
|
|
||||||
|
with open("seen.csv", newline="", encoding="ansi") as csvfile:
|
||||||
|
reader = csv.DictReader(csvfile, delimiter=';', fieldnames=fieldnames)
|
||||||
|
for row in reader:
|
||||||
|
row['Flaeche'] = float(row['Flaeche'].replace(',', '.'))
|
||||||
|
row['Maximale Seetiefe'] = float(row['Maximale Seetiefe'].replace(',', '.'))
|
||||||
|
row['Seevolumen'] = float(row['Seevolufmen'].replace(',', '.')) if row['Seevolumen'] else 0
|
||||||
|
seen.append(row)
|
||||||
|
|
||||||
|
anzahl_seen = len(seen)
|
||||||
|
gesamtflaeche = sum(s['Flaeche'] for s in seen)
|
||||||
|
tiefster_see = max(seen, key=lambda s: s['Maximale Seetiefe'])
|
||||||
|
durchschnittstiefe = sum(s['Maximale Seetiefe'] for s in seen) / anzahl_seen
|
||||||
|
|
||||||
|
print(f"Anzahl der Seen: {anzahl_seen}")
|
||||||
|
print(f"Gesamtfl<EFBFBD>che: {gesamtflaeche:.2f} km<6B>")
|
||||||
|
print(f"Tiefster See: {tiefster_see['Name']} mit {tiefster_see['Maximale Seetiefe']} m")
|
||||||
|
print(f"Durchschnittliche Tiefe: {durchschnittstiefe:.2f} m\n")
|
||||||
|
|
||||||
|
print("Liste aller Seen mit Bundesland:")
|
||||||
|
for s in seen:
|
||||||
|
print(f"{s['Name']} ({s['Bundesland']})")
|
||||||
44
csv/üben1/seen.csv
Normal file
44
csv/üben1/seen.csv
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
Achensee;Tirol;929;6,8;133;454
|
||||||
|
Almsee;Ober<65>sterreich;589;0,85;5;2
|
||||||
|
Altausseer See;Steiermark;712;2,1;53;73
|
||||||
|
Alte Donau;Wien;157;1,7;6,8;4
|
||||||
|
Attersee;Ober<65>sterreich;469;46,2;171;3890
|
||||||
|
Bodensee;Vorarlberg;396;535;254;48000
|
||||||
|
Erlaufsee;Nieder<65>sterreich,<EFBFBD>Steiermark;835;0,72;38;15
|
||||||
|
Faaker See;K<>rnten;555;2,2;30;35
|
||||||
|
Fuschlsee;Salzburg;663;2,65;67;98
|
||||||
|
Grabensee;Salzburg;503;1,3;14;12
|
||||||
|
Grundlsee;Steiermark;708;4,1;64;169
|
||||||
|
Haldensee;Tirol;1124;0,73;22;10
|
||||||
|
Hallst<EFBFBD>tter See;Ober<65>sterreich;508;8,6;125;558
|
||||||
|
Heiterwanger See;Tirol;976;1,37;60;55
|
||||||
|
Hintersee;Salzburg;685;0,82;22;9
|
||||||
|
Hintersteiner See;Tirol;883;0,56;36;7
|
||||||
|
Illmitzer Zicksee (Zicklacke);Burgenland;117;1,17;0,5;0
|
||||||
|
Irrsee<EFBFBD>(Zeller See);Ober<65>sterreich;553;3,6;32;53
|
||||||
|
Keutschacher See;K<>rnten;506;1,33;16;14
|
||||||
|
Klopeiner See;K<>rnten;446;1,11;48;25
|
||||||
|
Lange Lacke;Burgenland;117;2,5;0,8;2
|
||||||
|
L<EFBFBD>ngsee;K<>rnten;550;0,75;21;9
|
||||||
|
Lunzer See;Nieder<65>sterreich;608;0,68;34;14
|
||||||
|
Mattsee<EFBFBD>(Niedertrumer See);Salzburg;503;3,58;42;61
|
||||||
|
Millst<EFBFBD>tter See;K<>rnten;588;13,28;141;1205
|
||||||
|
Mondsee;Ober<65>sterreich[2];481;13,8;68;497
|
||||||
|
Neufelder See;Burgenland;223;0,6;23;8
|
||||||
|
Neusiedler See;Burgenland;115;320;1,8;320
|
||||||
|
Obertrumer See;Salzburg;503;4,88;36;85
|
||||||
|
Offensee;Ober<65>sterreich;649;0,55;38;11
|
||||||
|
Ossiacher See;K<>rnten;502;10,79;52;206
|
||||||
|
Plansee;Tirol;976;2,87;77;124
|
||||||
|
Pressegger See;K<>rnten;560;0,55;14;2
|
||||||
|
St. Andr<64>er Zicksee;Burgenland;116;1,23;1,4;1
|
||||||
|
Toplitzsee;Steiermark;718;0,54;103;34
|
||||||
|
Traunsee;Ober<65>sterreich;423;24,4;191;2189
|
||||||
|
Vilsalpsee;Tirol;1165;0,51;30;8
|
||||||
|
Vorderer Gosausee;Ober<65>sterreich;933;0,58;69;25
|
||||||
|
Walchsee;Tirol;655;0,95;21;11
|
||||||
|
Wallersee;Salzburg;505;6,1;23;76
|
||||||
|
Wei<EFBFBD>ensee;K<>rnten;929;6,53;99;226
|
||||||
|
Wolfgangsee;Ober<65>sterreich,<EFBFBD>Salzburg;538;12,84;113;667
|
||||||
|
W<EFBFBD>rthersee;K<>rnten;440;19,39;85;816
|
||||||
|
Zeller See;Salzburg;750;4,55;68;178
|
||||||
|
64
csv/üben2_kontaktperson/Kontaktpersonen.csv
Normal file
64
csv/üben2_kontaktperson/Kontaktpersonen.csv
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
Kontaktperson;Straße;Ort;PLZ;Land;Kosten / Gehalt
|
||||||
|
Sebastian Franz ;Hofer Str. 15 A ;Linköping;0;Schweden;3885
|
||||||
|
Bernd Kathol ;Schönfließer Str. 2 ;Charleroi;0;Belgien;3897
|
||||||
|
Veit Zschieppang ;Kampstraße 21B ;Stuttgart;70563;BRD;3720
|
||||||
|
Marcus Meseberg ;Vogelgesang 14 ;Harrogate;0;Großbritannien;3123
|
||||||
|
Marian Kretschmann ;Diehloer Str. 41 ;London;0;Großbritannien;4471
|
||||||
|
Ralph Janßen ;Meierskamp 37 ;Svenstavik;0;Schweden;3750
|
||||||
|
Steffen Andrä ;Reinharzer Str.25 ;Madrid;28001;Spanien;3934
|
||||||
|
Fabian Kunath ;Albert-Einstein-Strasse30 ;Aachen;52066;BRD;3465
|
||||||
|
Johannes Hegewald ;Erich- Weinert- Straße 8 ;Kobenhavn;1734;Dänemark;4663
|
||||||
|
Nick Schmidt ;Grabenweg 6 ;Helsinki;21240;Finnland;3980
|
||||||
|
Timo Ziebarth ;Hardenbergstraße.3 ;Brescia;25100;Italien;3130
|
||||||
|
Manuel Wagner ;Luisenstr.5 ;Stavern;4110;Norwegen;2809
|
||||||
|
Falk Thormann ;Abt-Denzel-Weg 10 ;Frösön;0;Schweden;2508
|
||||||
|
Anne Wicke ;Freiligrathstraße 11 ;Maierling;0;Schweden;4107
|
||||||
|
Peter Polic ;Nazorovo Setaliste 12 ;Seattle;98124;USA;4918
|
||||||
|
Stefanie Völkner ;Auf Den Gleichen 8 ;Köln;50739;BRD;2827
|
||||||
|
Markus Busse ;Birkenallee 5 ;Mannheim;68306;BRD;2596
|
||||||
|
Melanie Walter ;Curslacker Deich 263 ;Marseille;13008;Frankreich;3394
|
||||||
|
Michael Jurentschk ;Steinweiden Str. 13 ;Paris;75012;Frankreich;3401
|
||||||
|
Christoph Manderla ;Weinbergstr.9 ;Verona;37100;Italien;2773
|
||||||
|
Martin Straub ;Haidstraße 3 ;Luleå;0;Schweden;3353
|
||||||
|
Damian Neubauer ;Robert-Koch Str.27 ;Montréal;0;Kanada;3736
|
||||||
|
Kai Benjamin Larsen ;Untermühlstrasse 37 ;Vancouver;0;Kanada;4033
|
||||||
|
Timur Kirchhöfer ;Kantstr. 37 ;Butte;59801;USA;3911
|
||||||
|
Sven Ludwig ;Hammerweg 4E ;Leipzig;4179;BRD;2702
|
||||||
|
Jörg Köhler ;Von Hoff-Str 31 ;Paris;75007;Frankreich;2775
|
||||||
|
Christoph Block ;Eichergasse 15 ;München;80805;BRD;3222
|
||||||
|
Moritz Moosmüller ;Schlossstraße 56 ;Paris;75016;Frankreich;4902
|
||||||
|
Kräutlein Holger ;Marxer Hauptstraße.10 ;Strasbourg;67000;Frankreich;4415
|
||||||
|
Thomas Wagner ;Oberstraße/16 ;Bergamo;24100;Italien;3701
|
||||||
|
Stefan Herudek ;Ringstr 14 ;Barcelona;8022;Spanien;3442
|
||||||
|
Thomas Schläfer ;Fuchssteig 2 ;Walla Walla;99362;USA;3936
|
||||||
|
Timo Neitzke ;Mühlhofstr. 7 ;Münster;44087;BRD;4080
|
||||||
|
Janina Wege ;Rudolf - Breitscheidstr. 1 ;Nantes;44000;Frankreich;2669
|
||||||
|
Andreas Schädlich ;Pestalozzistraße 1 ;Napoli;80100;Italien;4607
|
||||||
|
Martin Schütz ;Waldstr. 9 ;Paris;75007;Frankreich;2669
|
||||||
|
Sebastian Michelmann ;Glück-Auf-Strasse 13 ;Reggio Emili;42100;Italien;4532
|
||||||
|
Erik Brüning ;Dorfstraße 39 ;Vancouver;0;Kanada;3227
|
||||||
|
Margit Heller ;Dorfstr. 13 ;Lille;59000;Frankreich;4346
|
||||||
|
Alexander Taudus ;Feldbergweg 21 ;Albuquerque;87123;USA;3234
|
||||||
|
Marc Recktenwald ;Dillingerstr.46 ;Anchorage;99508;USA;4174
|
||||||
|
Daniel Turner ;Bischof-Ulrich-Str.16 ;London;0;Großbritannien;2615
|
||||||
|
Eric Sallie ;Teichstraße 20A ;Århus;8200;Dänemark;2650
|
||||||
|
Marco Rabe ;Rastenburgerstr.1 ;London;0;Großbritannien;4232
|
||||||
|
Harmony Maier;2440 Jericho Dr ;Sevenoaks;0;Großbritannien;3630
|
||||||
|
Jan Hoffmann ;Sächsischer-Ring 27 ;Graz;8010;Österreich;4684
|
||||||
|
Peter Schüler ;Willy-Brandt-Str.15 ;Genève;1203;Schweiz;3192
|
||||||
|
Rene Maierbeer;Juri-Gagarin-Straße 32 ;Lander;82520;USA;4686
|
||||||
|
Steve Cunaeus ;Franz-Mehring-Straße 28 ;Portland;97219;USA;3767
|
||||||
|
Georg Berrewitz ;Pf 1112 ;Toulouse;31000;Frankreich;3385
|
||||||
|
Danny Scheuermann ;Im Schießgarten 1 ;Täby;0;Schweden;3249
|
||||||
|
Stefan Dirks ;Niebelungenring 17 ;Berlin;12209;BRD;4837
|
||||||
|
Sandra Trodler ;Schillstraße 23 ;Frankfurt a.;60528;BRD;3352
|
||||||
|
Schiffer Benjamin ;Frankenstrasse 9 ;Versailles;78000;Frankreich;3076
|
||||||
|
Heiko Richter ;Radebergerstr.27 ;Colchester;0;Großbritannien;3253
|
||||||
|
Kai Rorarius ;Leipzigerstraße 31 ;London;0;Großbritannien;3751
|
||||||
|
Peter Pfeiffer ;Eisenstraße 3 ;Milano;20100;Italien;3276
|
||||||
|
Jens Patzelt ;Dorstener Straße 484 ;Mayerling;10100;Österreich;2826
|
||||||
|
Florian Miehe ;Otto-Baer.Str.11 ;Salzburg;5020;Österreich;3452
|
||||||
|
Nicole Deicke ;Calvörderstr. 5 ;Lisboa;1756;Portugal;3847
|
||||||
|
Carolin Franzus ;Rosa-Luxemburg Straße 4 ;Boise;83720;USA;3172
|
||||||
|
Daniel Zwick ;Dörpfeldstr.20 ;Elgin;97827;USA;3983
|
||||||
|
Dennis Maurans ;Hörenweg 2A ;Tacoma;98466;USA;4223
|
||||||
|
45
csv/üben2_kontaktperson/main.py
Normal file
45
csv/üben2_kontaktperson/main.py
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# -*- coding: ansi -*-
|
||||||
|
|
||||||
|
import csv
|
||||||
|
|
||||||
|
datei = 'Kontaktpersonen.csv'
|
||||||
|
|
||||||
|
kontaktpersonen = []
|
||||||
|
laender = []
|
||||||
|
gehaelter = []
|
||||||
|
|
||||||
|
with open(datei) as f:
|
||||||
|
reader = csv.reader(f, delimiter=';')
|
||||||
|
next(reader)
|
||||||
|
|
||||||
|
for row in reader:
|
||||||
|
kontaktperson = row[0].strip()
|
||||||
|
land = row[4].strip()
|
||||||
|
gehalt = row[5].strip()
|
||||||
|
|
||||||
|
kontaktpersonen.append(kontaktperson)
|
||||||
|
laender.append(land)
|
||||||
|
gehaelter.append(gehalt)
|
||||||
|
|
||||||
|
gehaelter_float = []
|
||||||
|
for g in gehaelter:
|
||||||
|
try:
|
||||||
|
gehalt_float = float(g)
|
||||||
|
gehaelter_float.append(gehalt_float)
|
||||||
|
except ValueError:
|
||||||
|
gehaelter_float.append(0.0)
|
||||||
|
|
||||||
|
anzahl = len(kontaktpersonen)
|
||||||
|
|
||||||
|
einzigartige_laender = set(laender)
|
||||||
|
|
||||||
|
gesamt_gehalt = sum(gehaelter_float)
|
||||||
|
|
||||||
|
max_gehalt = max(gehaelter_float)
|
||||||
|
index_max = gehaelter_float.index(max_gehalt)
|
||||||
|
kontakt_max = kontaktpersonen[index_max]
|
||||||
|
|
||||||
|
print(f"Anzahl der Kontaktpersonen: {anzahl}")
|
||||||
|
print(f"L<EFBFBD>nder der Kontaktpersonen: {', '.join(sorted(einzigartige_laender))}")
|
||||||
|
print(f"Gesamtsumme der Geh<65>lter: {gesamt_gehalt:.2f}")
|
||||||
|
print(f"H<EFBFBD>chstes Gehalt: {max_gehalt:.2f} (Kontaktperson: {kontakt_max})")
|
||||||
Reference in New Issue
Block a user