Einführung
In diesem Projekt lernst du, wie du Mitarbeiter anhand der letzten Ziffer ihrer Telefonnummern gruppierst und die Gruppen in separate CSV-Dateien speicherst. Dieses Projekt ist so konzipiert, dass es dir hilft, Fähigkeiten im Umgang mit Dateien, Datenverarbeitung und der CSV-Dateiverwaltung mit Python zu entwickeln.
👀 Vorschau
## Eingabe:
python group.py
ls
ls Groups
## Ausgabe:
Groups roster.csv group.py
Tail_num_0.csv Tail_num_2.csv Tail_num_4.csv Tail_num_6.csv Tail_num_8.csv
Tail_num_1.csv Tail_num_3.csv Tail_num_5.csv Tail_num_7.csv Tail_num_9.csv
🎯 Aufgaben
In diesem Projekt wirst du lernen:
- Wie du die Projektumgebung einrichtest und die erforderlichen Dateien vorbereitest
- Wie du die Logik implementierst, um Mitarbeiter anhand der letzten Ziffer ihrer Telefonnummern zu gruppieren
- Wie du die gruppierten Daten in separate CSV-Dateien speicherst
- Wie du die Inhalte der generierten CSV-Dateien überprüfst
🏆 Errungenschaften
Nach Abschluss dieses Projekts wirst du in der Lage sein:
- Zu verstehen, wie man mit CSV-Dateien in Python umgeht
- Fähigkeiten in der Datenverarbeitung und -gruppierung zu entwickeln
- Deine Fähigkeiten im programmgesteuerten Erstellen und Verwalten von Dateien und Ordnern zu demonstrieren
- Dein Python-Programmierwissen auf ein reales Problem anzuwenden
Implementiere die Gruppierungslogik
In diesem Schritt wirst du die Logik implementieren, um die Mitarbeiter anhand der letzten Ziffer ihrer Telefonnummern zu gruppieren und die Gruppen in separate CSV-Dateien zu speichern.
- Öffne die Datei
group.pyin einem Texteditor. - Füge den folgenden Code zur
group()-Funktion hinzu:
import os
import csv
def group():
"""
Gruppiere Mitarbeiter anhand der letzten Ziffer ihrer Telefonnummer und speichere jede Gruppe in einer separaten CSV-Datei.
Liest Mitarbeiterdaten aus einer CSV-Datei namens 'roster.csv', gruppiert sie anhand der letzten Ziffer ihrer Telefonnummer
und speichert jede Gruppe in einer separaten CSV-Datei in einem Ordner namens 'Groups'.
Die CSV-Datei sollte das folgende Format haben:
- Die erste Zeile ist die Kopfzeile.
- Die verbleibenden Zeilen enthalten Mitarbeiterdaten, wobei jede Zeile einen einzelnen Mitarbeiter repräsentiert.
:return: None
"""
## Erstelle den Ordner 'Groups', wenn er nicht existiert
if not os.path.exists("Groups"):
os.makedirs("Groups")
## Öffne die Datei 'roster.csv' zum Lesen
with open("roster.csv", "r") as file:
reader = csv.reader(file)
header = next(reader) ## Lies die Kopfzeile der CSV-Datei
## Erstelle ein Dictionary, um Gruppen von Mitarbeitern anhand der letzten Ziffer ihrer Telefonnummer zu speichern
groups = {}
for row in reader:
phone_number = row[1] ## Hole die Telefonnummer aus der aktuellen Zeile
last_digit = int(phone_number[-1]) ## Extrahiere die letzte Ziffer der Telefonnummer als Ganzzahl
## Füge die aktuelle Zeile zur entsprechenden Gruppe basierend auf der letzten Ziffer hinzu
groups.setdefault(last_digit, []).append(row)
## Iteriere über die Gruppen und speichere jede Gruppe in einer separaten CSV-Datei
for tail_num, employees in groups.items():
filename = f"Groups/Tail_num_{tail_num}.csv" ## Generiere den Dateinamen für die aktuelle Gruppe
with open(filename, "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(header) ## Schreibe die Kopfzeile in die CSV-Datei
writer.writerows(employees) ## Schreibe die Mitarbeiterdaten in die CSV-Datei
if __name__ == "__main__":
group() ## Rufe die 'group'-Funktion auf, um den Gruppierungs- und Speicherprozess auszuführen
- Speichere die Datei
group.py.
Führe das Gruppierungsskript aus
In diesem Schritt wirst du das Skript group.py ausführen, um die gruppierten CSV-Dateien zu generieren.
- Öffne ein Terminal und navigiere zum Verzeichnis
/home/labex/project. - Führe den folgenden Befehl aus, um das Skript
group.pyauszuführen:
python group.py
- Nachdem das Skript abgeschlossen ist, überprüfe die Erstellung des Ordners
Groupsund der darin generierten CSV-Dateien.
Verifiziere die gruppierten CSV-Dateien
In diesem Schritt wirst du die Inhalte der generierten CSV-Dateien überprüfen.
- Navigiere mit dem Terminal zum Ordner
Groups. - Liste die Inhalte des Ordners
Groupsmit dem Befehllsauf. Du solltest die folgenden Dateien sehen:
Tail_num_0.csv Tail_num_2.csv Tail_num_4.csv Tail_num_6.csv Tail_num_8.csv
Tail_num_1.csv Tail_num_3.csv Tail_num_5.csv Tail_num_7.csv Tail_num_9.csv
- Öffne eine der CSV-Dateien (z.B.
Tail_num_0.csv) und überprüfe, dass die Datei die Mitarbeiterdaten enthält, wobei die erste Zeile die Kopfzeile ist und die verbleibenden Zeilen die Mitarbeiterinformationen enthalten.
Herzlichen Glückwunsch! Du hast das Projekt erfolgreich abgeschlossen, bei dem du Mitarbeiter anhand der letzten Ziffer ihrer Telefonnummern gruppiert und die Gruppen in separate CSV-Dateien gespeichert hast.
Zusammenfassung
Herzlichen Glückwunsch! Du hast dieses Projekt abgeschlossen. Du kannst in LabEx weitere Übungen absolvieren, um deine Fähigkeiten zu verbessern.



