Wissen / Datenimport und Export

CSV-Import und Export planen: Daten kontrolliert übertragen

Kurz gesagt: Ein verlässlicher CSV-Import braucht festgelegte Spalten, Datenformate, eindeutige Kennungen und klare Regeln für Fehler sowie erneute Ausführungen. Prüfen Sie zuerst eine unveränderte Beispieldatei und den vorgesehenen Zielzustand. Ein Probelauf zeigt geplante Änderungen, bevor Daten geschrieben werden. Beim Export bestimmen Zielprogramm, benötigte Informationen und Zugriffsrechte das passende Ausgabeformat.

Veröffentlicht am / Aktualisiert am / Redaktion: Ruhrstack / 9 Minuten Lesezeit

01 / ÜBERTRAGUNGSZIEL

Eine lesbare Tabelle ist noch kein geklärter Import.

Beschreiben Sie, was nach der Verarbeitung im Ziel vorhanden sein soll.

Ein Lieferant stellt Artikeldaten als CSV bereit. Ihre Anwendung soll daraus Produktbezeichnungen, Kennungen und bestimmte Eigenschaften übernehmen. Die Datei lässt sich in einem Tabellenprogramm öffnen. Trotzdem ist offen, ob fehlende Zeilen Produkte löschen, leere Zellen bestehende Angaben entfernen und erneut gelieferte Zeilen neue Datensätze anlegen sollen.

CSV bedeutet Comma-Separated Values. Das Format beschreibt tabellarische Daten als Text. In der Praxis begegnen Ihnen unterschiedliche Trennzeichen, Zeichencodierungen und Konventionen. RFC 4180 dokumentiert ein verbreitetes Format und den Medientyp text/csv; es ist eine informative Beschreibung aus 2005. Der Dateiname allein legt die tatsächlichen Vereinbarungen Ihrer Systeme nicht fest.

Ein Import liest Daten in ein Zielsystem ein. Ein Export stellt Daten für einen anderen Empfänger bereit. Beide Aufgaben brauchen ein vollständiges Ziel: „Freigegebene Artikelangaben des Lieferanten aktualisieren die zugeordneten Produkte; lokale Beschreibungstexte bleiben erhalten.“ So wird deutlich, welche Daten übertragen und welche nicht verändert werden sollen.

Klären Sie, ob die Datei einen vollständigen Bestand oder nur Änderungen enthält. Das Fehlen einer Zeile in einer Änderungsdatei bedeutet normalerweise nicht dieselbe fachliche Aussage wie das Fehlen in einer ausdrücklich vereinbarten vollständigen Bestandsmeldung. Eine Löschwirkung muss gesondert beschrieben und geprüft werden.

02 / DATEIFORMAT

Die unveränderte Ausgangsdatei und ihre Regeln festhalten.

Automatische Umwandlungen im Tabellenprogramm können die technische Prüfung verfälschen.

Bewahren Sie eine Kopie der ursprünglichen Datei auf und notieren Sie Herkunft, Erstellungszeit sowie vorgesehenen Exportweg. Öffnen und speichern Sie diese Kopie nicht zuerst in einem Tabellenprogramm, bevor sie als technische Probe geprüft wurde. Eine erneut gespeicherte Datei kann andere Trennzeichen, Datumsdarstellungen oder interpretierte Zellwerte enthalten.

Der Formatsteckbrief benennt Zeichencodierung, Trennzeichen, Kopfzeile und Spaltenreihenfolge beziehungsweise die erlaubte Zuordnung über Spaltennamen. Ergänzen Sie, wie Text mit einem Trennzeichen, Anführungszeichen oder Zeilenumbruch gespeichert wird. Ein Parser muss diese Struktur richtig lesen können; das Aufteilen jeder Zeile an einem einfachen Komma reicht dafür nicht.

Legen Sie pro Feld den erwarteten Typ fest. Eine Artikelkennung wie 00127 ist beispielsweise ein Textwert, wenn die führenden Nullen zur Kennung gehören. Eine Zahl braucht eine vereinbarte Dezimalschreibweise. Ein Datum benötigt einen eindeutigen Aufbau; 03/04/2026 kann sonst unterschiedlich gelesen werden. Eine Angabe mit Uhrzeit benötigt zusätzlich die passende Zeitzonenregel.

Das W3C-Modell für tabellarische Daten unterscheidet unter anderem die Zeichenfolge einer Zelle von ihrem interpretierten Wert und beschreibt ergänzende Metadaten. Für Ihre Planung ist dieser Unterschied hilfreich: Ein erfolgreicher Lesevorgang belegt noch nicht, dass Kennungen, Zahlen und leere Werte die beabsichtigte Bedeutung erhalten haben.

03 / SPALTEN UND KENNUNGEN

Quellspalten, Zielangaben und Änderungsrechte verbinden.

Eine stabile Zuordnung schützt vor versehentlichem Überschreiben und Doppelanlagen.

Erstellen Sie eine Spaltenliste mit Quellname, Zielangabe, Typ, Beispielwert und Behandlung eines fehlenden Werts. Benennen Sie Pflichtfelder und zulässige Werte. Eine unbekannte zusätzliche Spalte darf nicht automatisch in irgendein ähnlich benanntes Feld übernommen werden. Der Import braucht eine bekannte Regel für neue oder umbenannte Spalten.

Die Kennung ordnet eine Zeile einem Zielobjekt zu. Prüfen Sie, ob sie im vereinbarten Quellbestand eindeutig ist und dauerhaft dieselbe Sache bezeichnet. Eine Produktbezeichnung allein ist meist keine geeignete Zuordnung: Sie kann sich ändern oder bei verschiedenen Artikeln gleich sein. Wenn mehrere Lieferanten denselben Kennungsraum verwenden, muss auch die Herkunft berücksichtigt werden.

Vereinbaren Sie den Unterschied zwischen Anlegen und Aktualisieren. Ein vorhandener Datensatz kann nur ausgewählte Angaben aus der Quelle übernehmen. Lokal gepflegte Inhalte bleiben nach dieser Regel erhalten. Eine solche Zuständigkeit sollte je Feld feststehen. Eine allgemeine Option „bestehende Daten überschreiben“ ist bei unterschiedlichen Verantwortlichkeiten zu grob.

Unterscheiden Sie außerdem „leer“, „nicht geliefert“ und einen tatsächlich gültigen Nullwert. Eine leere Preiszelle ist nicht automatisch ein Preis von null. Eine fehlende Spalte ist nicht automatisch ein Auftrag, alle bisherigen Werte zu löschen. Wenn der Lieferant keine eindeutige Regel hat, bleibt dieser Punkt vor dem produktiven Schreiben offen.

04 / PRÜFUNG UND FEHLER

Formatprüfung und fachliche Prüfung getrennt durchführen.

Auch korrekt gelesene Daten können für den vorgesehenen Vorgang ungeeignet sein.

Die OWASP-Hinweise zur Eingabevalidierung unterscheiden syntaktische und semantische Regeln. Auf einen Import übertragen bedeutet das: Eine Zahl kann technisch lesbar sein und trotzdem außerhalb des erlaubten Bereichs liegen. Ein Datumswert kann gültig sein, aber vor dem für den Vorgang zulässigen Zeitpunkt liegen.

Prüfen Sie zunächst die gesamte Dateistruktur und anschließend die vereinbarten Feldregeln. Dazu können Pflichtangaben, Mengenbereiche, zulässige Statuswerte und Beziehungen zwischen Feldern gehören. Bei mehrfach vorkommenden Kennungen braucht es eine definierte Behandlung. „Die letzte Zeile gewinnt“ ist keine allgemein sichere Annahme.

Entscheiden Sie vorab, ob ein fehlerhafter Datensatz die gesamte Übernahme stoppt oder ob bestimmte unabhängige Zeilen nach dokumentierter Regel verarbeitet werden dürfen. Die Entscheidung richtet sich nach der fachlichen Wirkung. Wenn mehrere Zeilen zusammen einen vollständigen Auftrag bilden, kann ein Teilergebnis irreführend oder unbrauchbar sein.

Eine Fehlermeldung benennt Dateivorgang, Zeile oder Kennung, betroffene Regel und den nächsten Bearbeitungsschritt. Ein langer technischer Parsertext allein hilft der verantwortlichen Person kaum. Gleichzeitig gehören vertrauliche Inhalte nicht vollständig in jede Meldung. Ein zugriffsgeschütztes Prüfprotokoll soll die notwendigen Details gezielt bereitstellen.

Die Dateiannahme selbst braucht Schutz. Das OWASP File Upload Cheat Sheet empfiehlt unter anderem begrenzte Dateigrößen, berechtigte Nutzer und die Prüfung des tatsächlichen Inhalts. Eine erlaubte Endung .csv bestätigt weder ein passendes Format noch die Berechtigung, die enthaltenen Daten zu ändern.

05 / PROBELAUF UND WIEDERHOLUNG

Geplante Änderungen sichtbar machen, bevor sie wirksam werden.

Eine Vorschau und eine kontrollierte erneute Ausführung gehören zum vereinbarten Ablauf.

Ein Probelauf liest und prüft die Datei, ordnet sie dem Zielbestand zu und zeigt geplante Änderungen. Er soll im vereinbarten Umfang keine produktiven Daten oder nachgelagerten Vorgänge verändern. Diese Eigenschaft muss technisch geprüft werden. Ein Schalter mit der Aufschrift „Vorschau“ beweist sie noch nicht.

Der Bericht kann neue, geänderte, unveränderte und abgewiesene Datensätze getrennt zählen. Ergänzen Sie wichtige Einzelbeispiele. Eine reine Gesamtzahl „100 Zeilen verarbeitet“ lässt nicht erkennen, ob die erwarteten Angaben übernommen oder unerwünschte Daten gelöscht würden. Besonders großflächige Änderungen verdienen eine gezielte Sichtkontrolle vor der Freigabe.

Prüfen Sie die erneute Verarbeitung derselben Datei. Soll sie keine zusätzlichen Datensätze erzeugen? Soll ein bereits übernommener Lauf erkannt und abgewiesen werden? Oder dürfen aktualisierte Inhalte unter derselben Dateibezeichnung erneut importiert werden? Diese Unterschiede lassen sich über einen bekannten Lauf und stabile Datensatzzuordnungen behandeln, brauchen aber eine bewusste Regel.

Planen Sie auch eine Unterbrechung während des Schreibens. Ein vollständiges Zurücksetzen ist nicht bei jeder Architektur oder externen Nebenwirkung möglich. Die Lösung kann einen dokumentierten Rückweg oder einen sicheren Fortsetzungs- und Abgleichweg benötigen. Übernommene Daten und bereits ausgelöste Nachrichten sind dabei unterschiedliche Auswirkungen.

Nach dem produktiven Lauf kontrollieren Sie das Ergebnis im Zielsystem. Stimmen Anzahl, ausgewählte Felder und Zuordnungen? Sind offene Zeilen bearbeitbar? Eine syntaktisch erfolgreiche Verarbeitung ersetzt diese Kontrolle nicht. Erst der gewünschte Zielzustand beantwortet, ob die Übertragung ihren Zweck erfüllt hat.

06 / EXPORT UND ZIELPROGRAMM

Die Exportdatei muss zum tatsächlichen Empfänger passen.

Eine Datei für Menschen und ein maschineller Import können unterschiedliche Regeln benötigen.

Ein Export enthält nur die für den vereinbarten Zweck benötigten Spalten und Datensätze. Prüfen Sie, wer ihn erzeugen und herunterladen darf. Die Möglichkeit, eine Liste in einer Anwendung anzusehen, berechtigt nicht automatisch dazu, einen vollständigen Datenbestand zu exportieren oder weiterzugeben.

Eine Tabellenansicht für Mitarbeitende kann andere Anforderungen haben als eine Datei, die eine weitere Anwendung exakt einliest. Benennen Sie deshalb das Zielprogramm und dessen Einstellungen. Kennungen, Dezimalwerte und Datumsspalten werden mit dem tatsächlichen Empfänger geprüft. Eine Vorschau im Browser belegt nicht, wie eine andere Anwendung die Datei später interpretiert.

OWASP beschreibt CSV- beziehungsweise Formel-Injection: Nicht vertrauenswürdige Zellinhalte können von Tabellenprogrammen als Formel interpretiert werden. Einfaches Einschließen in Anführungszeichen verhindert das nicht allgemein. Auch verbreitete Escape-Verfahren können nach dem Speichern und Wiederöffnen anders wirken. Es gibt laut Quelle keine universelle Strategie für sämtliche Programme und nachgelagerten Verbraucher.

Die Ausgabe braucht daher eine Schutzentscheidung passend zum vorgesehenen Empfänger und einen Test des vollständigen Nutzungswegs. Eine Veränderung, die für eine menschliche Tabellenansicht sinnvoll ist, kann einen späteren maschinellen Import beeinflussen. Halten Sie diese Zwecke getrennt und dokumentieren Sie nötige Varianten, statt stillschweigend Kennungen oder andere fachliche Werte zu verändern.

Temporäre Dateien und Prüfberichte erhalten eine benannte Aufbewahrung und einen vorgesehenen Löschweg. Eine private Quelldatei soll nicht durch den Upload unter einer öffentlichen URL verfügbar werden. Bei personenbezogenen Daten sind außerdem Zweck, Empfänger und Berechtigungen konkret zu klären; das Dateiformat löst diese Fragen nicht.

07 / IMPORTSTECKBRIEF

Ein fiktiver Artikelimport verbindet die Regeln.

Die Vorlage und das Beispiel sind eigene redaktionelle Arbeitshilfen, kein Kundenprojekt.

Ein fiktiver Fachbetrieb übernimmt Lieferantenangaben in eine interne Artikelliste. Der erste Umfang umfasst Kennung, Kurzbezeichnung und Packungsgröße. Eigene Notizen werden nicht geändert. Fehlende Artikel in der Datei werden nicht gelöscht. Diese Begrenzung hält den Pilotlauf überschaubar und schützt bewusst getrennte Angaben.

Eigene Vorlage: Regel und erwarteten Testnachweis verbinden
BereichFiktive RegelTestbeispiel
KennungText einschließlich führender Nullen00127 bleibt derselben Zielkennung zugeordnet
PackungsgrößePositive ganze Zahl im vereinbarten BereichLeere oder negative Angabe wird abgewiesen
Doppelte ZeileMehrfache Kennung wird vor dem Schreiben gemeldetZwei Zeilen mit 00127 erzeugen einen Prüfpunkt
Eigene NotizBleibt außerhalb der FeldzuordnungVorhandene Notiz ist nach dem Lauf unverändert
Erneuter LaufKeine zusätzliche Anlage derselben ArtikelDieselbe geprüfte Datei erzeugt keine Duplikate

Der Probelauf verwendet auch einen Text mit Trennzeichen, einen erlaubten mehrzeiligen Inhalt und eine fehlerhafte Zeile. So wird nicht nur eine besonders einfache Probe geprüft. Ergänzen Sie einen größeren synthetischen Bestand, wenn Laufzeit und Dateigrößen zum Auftrag gehören. Die konkreten Grenzen richten sich nach der Umgebung.

Ruhrstack entwickelt laut Leistungsseite Entwicklung Scripts für Datenaufbereitung und Exporte mit vereinbarten Probeläufen und Fehlerhinweisen. Für die Vorbereitung helfen eine anonymisierte Originaldatei, die gewünschte Feldzuordnung und der erwartete Zielzustand. Bei wiederkehrender Ausführung ergänzt Scripts und Automatisierung planen die Fragen zu Auslöser, Betrieb und Zuständigkeit.

08 / QUELLEN

Quellen und redaktioneller Stand.

Die Quellen wurden am 8. Oktober 2026 geprüft. Importsteckbrief, Prüfbeispiele und Feldregeln sind eigenständige redaktionelle Arbeitshilfen. RFC 4180 ist eine informative Formatbeschreibung aus 2005. Für konkrete Dateien gelten die zusätzlich abgestimmten Format- und Verarbeitungsregeln der beteiligten Systeme.

  1. RFC Editor / IETF: RFC 4180: Common Format and MIME Type for CSV Files, abgerufen am 8. Oktober 2026.
  2. W3C: Model for Tabular Data and Metadata on the Web, abgerufen am 8. Oktober 2026.
  3. OWASP: Input Validation Cheat Sheet, abgerufen am 8. Oktober 2026.
  4. OWASP: File Upload Cheat Sheet, abgerufen am 8. Oktober 2026.
  5. OWASP Community: CSV Injection, abgerufen am 8. Oktober 2026.

Redaktioneller Hinweis: Dieser Beitrag dient der allgemeinen Information und ersetzt keine Einzelfallprüfung. Trotz sorgfältiger Recherche wird keine Gewähr für Vollständigkeit und fortdauernde Aktualität übernommen. Eine Haftung nach zwingenden gesetzlichen Vorschriften bleibt unberührt. Redaktionelle Einordnung.

Welche Daten sollen verlässlich übernommen werden?

Beschreiben Sie Quelle, Ziel und gewünschte Änderungen. Eine anonymisierte Originaldatei und ein erwartetes Ergebnis helfen, Import, Export und Probelauf sinnvoll abzugrenzen.

Datenübertragung besprechen