Im Rahmen meiner Ausbildung bei maexware habe ich im zweiten Lehrjahr ein praktisches Programmierprojekt umgesetzt. Die Aufgabe bestand darin, Daten aus einer CSV-Datei einzulesen, diese Daten mit Python zu verarbeiten und anschließend in einem neuen Format wie JSON oder XML zu speichern.
Das Projekt war eine gute Gelegenheit, grundlegende Programmierkenntnisse zu vertiefen und den Umgang mit unterschiedlichen Datenformaten besser zu verstehen. Besonders wichtig war dabei, die Abläufe nicht nur mit fertigen Bibliotheken zu lösen, sondern die grundlegende Logik selbst nachzuvollziehen.
Auch wenn es sich um ein Ausbildungsprojekt handelt, hat das Thema einen direkten Praxisbezug. Datenformate wie CSV, JSON und XML spielen auch in echten Projekten eine wichtige Rolle, zum Beispiel bei Datenmigration, Schnittstellenentwicklung, API-Anbindungen oder Datenintegration zwischen verschiedenen Systemen.
Ziel des Projekts
Das Hauptziel war es, ein Programm zu entwickeln, das Daten aus einer externen Datei einliest, verarbeitet und anschließend in einem anderen Format ausgibt.
Konkret sollte das Programm:
- Daten aus einer CSV-Datei einlesen,
- die eingelesenen Daten strukturiert verarbeiten,
- bestimmte Werte auf Basis von Benutzereingaben verändern,
- die geänderten Daten in JSON speichern,
- die geänderten Daten zusätzlich in XML speichern,
- ohne externe Bibliotheken umgesetzt werden.
Der Verzicht auf externe Bibliotheken war ein wichtiger Teil der Aufgabe. Dadurch konnte ich besser verstehen, wie das Einlesen, Verarbeiten und Speichern von Daten technisch funktioniert.
In vielen realen Softwareprojekten werden für solche Aufgaben Bibliotheken oder Frameworks genutzt. Für das Lernen war es jedoch hilfreich, die einzelnen Schritte selbst zu implementieren und dadurch die Grundlagen besser zu verstehen.
Warum Datenformate wichtig sind
Datenformate sind ein zentraler Bestandteil moderner Softwareentwicklung. Anwendungen müssen Daten speichern, austauschen, importieren oder an andere Systeme weitergeben. Dafür braucht es strukturierte Formate, die von Programmen gelesen und verarbeitet werden können.
In meinem Projekt standen drei Formate im Mittelpunkt:
- CSV: Ein einfaches Tabellenformat, das häufig für Exporte, Importe und Listen verwendet wird.
- JSON: Ein strukturiertes Datenformat, das besonders oft bei Webanwendungen und APIs eingesetzt wird.
- XML: Ein hierarchisches Format, das in vielen älteren Systemen, Schnittstellen und Datenübergaben vorkommt.
Gerade bei Schnittstellen ist es wichtig, solche Formate zu verstehen. Wenn Daten zwischen ERP, CRM, Onlineshop, Warenwirtschaft oder individuellen Anwendungen ausgetauscht werden, müssen Struktur, Feldnamen und Inhalte korrekt verarbeitet werden.
Mehr zu professionellen Schnittstellenprojekten finden Sie im Bereich API-Entwicklung und Schnittstellenentwicklung.
Ablauf des Projekts
Planung
Zu Beginn habe ich mir einen Plan erstellt, welche Schritte notwendig sind. Zuerst musste ich verstehen, wie die Daten in der CSV-Datei aufgebaut sind. Danach habe ich überlegt, wie die Daten im Programm gespeichert, verändert und anschließend in JSON und XML ausgegeben werden können.
Wichtige Fragen in der Planungsphase waren:
- Wie ist die CSV-Datei aufgebaut?
- Welche Spalten und Werte sollen verarbeitet werden?
- Welche Daten sollen durch Benutzereingaben geändert werden?
- Wie soll die Ausgabe in JSON aussehen?
- Wie soll die Ausgabe in XML aussehen?
- Wie kann das Programm ohne externe Bibliotheken umgesetzt werden?
Entwicklung
Im ersten Schritt habe ich ein Programm geschrieben, das die Daten aus einer CSV-Datei einliest. Dabei musste das Programm die Datei zeilenweise verarbeiten und die einzelnen Werte korrekt erkennen.
Danach wurden die Daten in Python weiterverarbeitet. Auf Basis von Benutzereingaben konnten bestimmte Werte ersetzt oder angepasst werden. Anschließend habe ich eigene Funktionen erstellt, um die veränderten Daten in JSON und XML zu speichern.
Besonders lehrreich war dabei, die Strukturen der verschiedenen Formate direkt miteinander zu vergleichen. CSV ist eher tabellarisch aufgebaut, JSON arbeitet mit Objekten und Listen, während XML mit verschachtelten Elementen arbeitet.
Testen
Nach der Entwicklung habe ich die einzelnen Funktionen getestet. Dabei ging es vor allem darum zu prüfen, ob die Daten korrekt eingelesen, verarbeitet und ausgegeben werden.
Getestet wurde unter anderem:
- ob die CSV-Datei korrekt gelesen wird,
- ob alle Datensätze vollständig verarbeitet werden,
- ob Benutzereingaben richtig übernommen werden,
- ob die JSON-Ausgabe korrekt aufgebaut ist,
- ob die XML-Ausgabe korrekt strukturiert ist,
- ob fehlerhafte oder leere Eingaben Probleme verursachen.
Das Testen hat gezeigt, wie wichtig saubere Datenstrukturen und nachvollziehbare Funktionen sind. Schon kleine Fehler beim Einlesen oder Schreiben können dazu führen, dass die Ausgabe nicht mehr korrekt verarbeitet werden kann.
Mein Lernprozess
Während des Projekts habe ich viel über den Umgang mit Dateien, Datenformaten und Datenstrukturen gelernt. Besonders hilfreich war, dass ich nicht nur fertige Funktionen verwendet habe, sondern die Logik hinter den Formaten selbst nachvollziehen musste.
Ich habe gelernt:
- wie CSV-Dateien aufgebaut sind,
- wie Daten zeilenweise eingelesen werden,
- wie Benutzereingaben verarbeitet werden können,
- wie JSON strukturiert ist,
- wie XML-Daten aufgebaut werden,
- wie wichtig saubere Funktionen und klare Abläufe sind,
- warum Tests bei Datenverarbeitung wichtig sind.
Das Projekt hat mir auch gezeigt, dass Datenverarbeitung ein wichtiger Bestandteil vieler Softwareprojekte ist. Ob Import, Export, Schnittstelle oder Migration: Daten müssen korrekt gelesen, geprüft, umgewandelt und gespeichert werden.
Herausforderungen
Eine der größten Herausforderungen war es, ohne externe Bibliotheken zu arbeiten. Normalerweise gibt es in Python für viele Aufgaben fertige Module, zum Beispiel für JSON oder XML. In diesem Projekt sollte ich jedoch die grundlegende Verarbeitung selbst umsetzen.
Dadurch musste ich mich genauer mit der Struktur der Formate beschäftigen. Bei CSV ging es darum, Zeilen und Werte richtig zu trennen. Bei JSON musste ich verstehen, wie Objekte, Listen und Schlüssel-Wert-Paare aufgebaut werden. Bei XML war wichtig, die richtige Verschachtelung der Elemente zu erzeugen.
Eine weitere Herausforderung war die saubere Strukturierung des Codes. Wenn ein Programm mehrere Aufgaben erledigt, wird es schnell unübersichtlich. Deshalb war es wichtig, einzelne Funktionen zu erstellen und den Ablauf nachvollziehbar aufzubauen.
Auch der Umgang mit Fehlern war ein wichtiges Thema. Wenn Eingaben fehlen, Dateien nicht gefunden werden oder Daten nicht im erwarteten Format vorliegen, muss das Programm trotzdem kontrolliert reagieren.
Bezug zur Praxis bei maexware
Auch wenn dieses Projekt ein Ausbildungsprojekt war, gibt es viele Verbindungen zu echten Projekten in der Softwareentwicklung. Bei maexware spielen Datenformate, Datenumwandlung und Schnittstellen in vielen Bereichen eine Rolle.
Typische Praxisbeispiele sind:
- Daten aus CSV-Dateien für einen Onlineshop vorbereiten,
- Produktdaten aus einem ERP-System in ein anderes Format bringen,
- Kundendaten für eine CRM-Migration strukturieren,
- Bestellungen zwischen Shop und Warenwirtschaft übertragen,
- API-Daten im JSON-Format verarbeiten,
- XML-Dateien aus Lieferanten- oder Herstellerdaten einlesen,
- Daten für Schnittstellen prüfen und umwandeln.
Gerade bei E-Commerce, ERP, CRM und individuellen Anwendungen ist es wichtig, Datenformate zu verstehen. Nur wenn Daten korrekt strukturiert sind, können Systeme sauber miteinander kommunizieren.
Datenformate im Überblick
Die folgende Übersicht zeigt die drei Datenformate aus dem Projekt und ihre typische Bedeutung.
| Datenformat | Typische Verwendung | Was ich gelernt habe |
|---|---|---|
| CSV | Tabellarische Daten, Exporte, Importe, Produktlisten | Daten zeilenweise einlesen und Werte sauber trennen |
| JSON | APIs, Webanwendungen, strukturierte Datenobjekte | Objekte, Listen und Schlüssel-Wert-Strukturen aufbauen |
| XML | Schnittstellen, strukturierte Dokumente, ältere Systemübergaben | Elemente verschachteln und hierarchische Strukturen erzeugen |
Warum das Projekt für die Ausbildung wichtig war
Das Projekt war für meine Ausbildung wichtig, weil es mehrere Grundlagen miteinander verbunden hat: Dateiverarbeitung, Python, Datenstrukturen, Benutzereingaben, Tests und saubere Programmierung.
Besonders wertvoll war, dass ich nicht nur eine einzelne Funktion geschrieben habe, sondern einen vollständigen Ablauf umsetzen musste: Daten einlesen, Daten verändern, Daten ausgeben und das Ergebnis testen.
Dadurch habe ich besser verstanden, wie wichtig Planung und Struktur in der Softwareentwicklung sind. Ein Programm funktioniert nicht nur dann gut, wenn es einmal das richtige Ergebnis liefert, sondern wenn es nachvollziehbar, wartbar und erweiterbar bleibt.
Fazit
Ich bin stolz darauf, dieses Projekt im zweiten Lehrjahr erfolgreich umgesetzt zu haben. Es hat mir geholfen, meine Fähigkeiten im Programmieren zu verbessern und ein besseres Verständnis für Datenformate wie CSV, JSON und XML zu entwickeln.
Außerdem habe ich gelernt, wie wichtig saubere Datenstrukturen, Tests und gut lesbarer Code sind. Das Projekt war ein wichtiger Schritt in meiner Ausbildung und hat mir mehr Sicherheit im Umgang mit Python und Datenverarbeitung gegeben.
Für mich war besonders spannend zu sehen, dass ein Ausbildungsprojekt viele Bezüge zu echten Softwareprojekten hat. Datenformate, Datenkonvertierung und Schnittstellen sind nicht nur theoretische Themen, sondern kommen in der Praxis bei Datenimporten, Migrationen, APIs und Systemintegrationen regelmäßig vor.
Mehr über maexware als Team und Arbeitgeber finden Sie auf unserer Seite Über uns.
