Import von CSV-Daten in eine Datenbank

Herausforderungen mit Excel lösen

Hürden beim Import von CSV-Dateien in Datenbanken und Lösungen mit Excel

Das Importieren von CSV-Dateien in eine Datenbank ist in vielen Projekten ein essenzieller Prozess, der jedoch zahlreiche Stolpersteine bereithält. Häufig sind es fehlerhafte oder unzureichende Daten, die den Prozess verkomplizieren. Excel ist ein wertvolles Tool, um diese Hürden zu beseitigen und Daten korrekt aufzubereiten. Im Folgenden werden typische Probleme und deren Lösungen mit Excel vorgestellt.

1. Zusammenführen von Spalten (Straße und Hausnummer)

Oft werden Adressdaten in getrennten Spalten für Straße und Hausnummer geliefert, obwohl eine Datenbank nur eine kombinierte Spalte erwartet.

Problem:
Die Straße und Hausnummer liegen in getrennten Spalten vor, sollen aber in einer einzigen Spalte importiert werden.

Lösung in Excel:
Du kannst die Funktion =VERKETTEN(A1;" ";B1) oder die modernere Version =TEXTVERKETTEN(" ";Wahr;A1;B1) verwenden, um die Inhalte der Zellen zu kombinieren. Die Formel fügt den Inhalt der Zelle A1 (Straße) mit dem Inhalt der Zelle B1 (Hausnummer) zusammen, wobei ein Leerzeichen dazwischen eingefügt wird.

  1. Neue Spalte einfügen.
  2. In der neuen Spalte die Formel =VERKETTEN(A1;" ";B1) verwenden.
  3. Die erstellten Werte kopieren und als „Werte“ in die neue Spalte einfügen, um die Formeln zu entfernen.
  4. Die ursprünglichen Spalten löschen.

2. Aufteilen von Spalten (Straße und Hausnummer)

Manchmal liegen Straße und Hausnummer zusammen in einer Spalte vor, sollen aber in getrennte Spalten für die Datenbank importiert werden.

Problem:
Straße und Hausnummer befinden sich in einer Spalte und müssen getrennt werden.

Lösung in Excel:
Du kannst die Funktion „Text in Spalten“ verwenden, um die Inhalte aufzuteilen.

  1. Spalte auswählen, die aufgeteilt werden soll.
  2. Unter „Daten“ > „Text in Spalten“ die Option „Getrennt“ wählen.
  3. Als Trennzeichen ein Leerzeichen auswählen.
  4. Excel teilt die Inhalte in zwei Spalten auf (z. B. Straße in Spalte A und Hausnummer in Spalte B).

Wenn die Hausnummer allerdings immer am Ende der Zelle steht, kannst du auch Funktionen wie =LINKS(A1;FINDEN(" ";A1)-1) für die Straße und =RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1)) für die Hausnummer verwenden.

3. Zeichencodierung (ANSI vs. UTF-8)

Ein sehr häufiges Problem bei CSV-Dateien ist die falsche Zeichencodierung. In Deutschland werden Umlaute wie „ä“, „ö“ und „ü“ oft fehlerhaft dargestellt, wenn die Datei in ANSI anstelle von UTF-8 vorliegt.

Problem:
Die CSV-Datei liegt in ANSI vor, die Datenbank erwartet jedoch UTF-8, sodass Sonderzeichen wie Umlaute falsch dargestellt werden.

Lösung in Excel:
Excel bietet keine direkte Option, eine CSV-Datei als UTF-8 zu speichern, aber es gibt einen einfachen Umweg:

  1. Öffne die CSV-Datei in Excel.
  2. Wähle „Speichern unter“ und speichere die Datei als „Textdatei (Tabstopp-getrennt) (*.txt)“.
  3. Öffne diese .txt-Datei mit einem Texteditor wie Notepad.
  4. In Notepad: Datei > Speichern unter > Wähle „UTF-8“ in der Dropdown-Liste für die Codierung.
  5. Benenne die Datei wieder als .csv um.

Alternativ kannst du, wenn du mit CSV-Dateien in Excel arbeitest, Tools wie Notepad++ verwenden, um die Datei nach dem Export schnell in UTF-8 umzuwandeln.

4. Falsche oder fehlende Datentypen (Datum, Zahlen, Texte)

Manchmal sind die Daten nicht korrekt formatiert, z. B. werden Datumswerte als Text gespeichert oder Zahlen als Texte dargestellt, was in der Datenbank zu Fehlern führen kann.

Problem:
Zahlen oder Datumswerte werden als Text erkannt und nicht korrekt importiert.

Lösung in Excel:
Excel bietet einfache Möglichkeiten, Datentypen zu korrigieren:

  • Datum umwandeln: Markiere die Zellen und ändere das Zellenformat auf „Datum“ unter „Zellen formatieren“.
  • Zahlen umwandeln: Markiere die Zellen, und klicke auf das Warnsymbol neben der Zelle, um die Option „Als Zahl umwandeln“ auszuwählen.

Für größere Mengen an Daten kann die Funktion =DATUM(JAHR(A1);MONAT(A1);TAG(A1)) verwendet werden, um das Format zu standardisieren.

5. Datenbereinigung (Leerzeichen, Sonderzeichen)

Daten können oft unerwünschte Leerzeichen oder Sonderzeichen enthalten, die beim Import Probleme verursachen.

Problem:
Führende oder nachfolgende Leerzeichen sowie unerwünschte Sonderzeichen führen zu Datenbankfehlern.

Lösung in Excel:
Die Funktionen =GLÄTTEN(A1) und =WECHSELN(A1;Zeichen(160);"") helfen, überflüssige Leerzeichen und Sonderzeichen zu entfernen.

  1. =GLÄTTEN(A1) entfernt führende und nachfolgende Leerzeichen.
  2. =WECHSELN(A1;Zeichen(160);"") entfernt geschützte Leerzeichen, die oft bei Importen auftauchen.

6. Fehlende Werte

Ein häufiger Fall ist, dass Datensätze nicht alle Informationen enthalten, was in der Datenbank zu Null-Werten führen kann oder sogar den Importprozess blockiert.

Problem:
Fehlende Werte führen zu Fehlern beim Import.

Lösung in Excel:
Du kannst die bedingte Formatierung nutzen, um fehlende Werte zu identifizieren, und anschließend entscheiden, ob du diese Zellen manuell ausfüllst oder mit einem Platzhalterwert versiehst. Alternativ können leere Zellen mit =WENN(A1="";"Platzhalter";A1) gefüllt werden.

Mit diesen Ansätzen lassen sich viele häufige Probleme beim Import von CSV-Dateien mit Hilfe von Excel beheben, sodass der Import in die Datenbank reibungsloser abläuft. Excel bietet leistungsstarke Funktionen, um Daten zu bereinigen, aufzubereiten und zu formatieren, was den Importprozess erheblich erleichtert.

7. Fehlende Spalten und das Arbeiten mit Foreign Keys

Manchmal fehlen beim Importieren von CSV-Dateien bestimmte Spalten, die in der Datenbank benötigt werden. Dies kann besonders problematisch sein, wenn es sich um Pflichtfelder wie Foreign Keys handelt.

Was ist ein Foreign Key?

Ein Foreign Key (Fremdschlüssel) ist ein Datenbankbegriff, der verwendet wird, um eine Beziehung zwischen zwei Tabellen herzustellen. Er stellt sicher, dass ein bestimmter Wert in einer Tabelle (z. B. eine Benutzer-ID) mit einem Wert in einer anderen Tabelle (z. B. eine Bestellung des Benutzers) übereinstimmt. Der Foreign Key in einer Tabelle verweist auf den Primary Key (Hauptschlüssel) einer anderen Tabelle.

Beispiel:

  • Benutzer-Tabelle (mit Benutzer-IDs)
  • Bestellungs-Tabelle (mit Verweisen auf Benutzer-IDs)

Wenn eine Bestellung in die Datenbank importiert wird, muss die entsprechende Benutzer-ID (Foreign Key) mit einem existierenden Benutzer in der Benutzer-Tabelle übereinstimmen.

Problem:

Eine CSV-Datei, die importiert werden soll, enthält keine Spalte für Foreign Keys (z. B. Benutzer-IDs), obwohl diese in der Datenbank benötigt werden.

Lösung in Excel:

  1. Foreign Key-Spalte hinzufügen:
    Zunächst muss eine neue Spalte erstellt werden, die die Foreign-Key-Daten enthält. Das geht einfach, indem du eine neue Spalte in Excel hinzufügst.

  2. Daten manuell oder automatisch ausfüllen:
    Je nachdem, welche Daten du hast, kannst du die Foreign Keys auf verschiedene Weisen füllen:

    • Manuelles Ausfüllen: Falls du die Informationen hast, kannst du die Werte direkt eintragen.
    • Automatisches Ausfüllen basierend auf anderen Spalten: Wenn du bereits eine eindeutige Information wie einen Benutzernamen oder eine E-Mail-Adresse hast, kannst du diese verwenden, um die entsprechenden Foreign Keys automatisch zuzuweisen.

    Beispiel:
    Angenommen, du hast eine separate Tabelle mit Benutzer-IDs und E-Mail-Adressen in einer anderen Datei, kannst du die SVERWEIS-Funktion verwenden, um die korrekten Benutzer-IDs zu den entsprechenden Einträgen zu finden.

    =SVERWEIS(B2;BenutzerTabelle!A:B;2;FALSCH)  

    In diesem Beispiel sucht Excel nach dem Wert in B2 (z. B. die E-Mail-Adresse) in der BenutzerTabelle und gibt den entsprechenden Wert der Benutzer-ID aus.

Weitere Tipps:

  • Überprüfen der Beziehungen: Bevor du den Import durchführst, stelle sicher, dass alle Foreign Keys korrekt zu den Primary Keys in der anderen Tabelle passen. Du kannst dies in Excel überprüfen, indem du dir alle Werte anzeigen lässt, die keine passende Zuordnung haben.

  • Default-Werte einfügen: Falls du keine Foreign Keys hast, aber trotzdem den Import durchführen möchtest, kannst du Platzhalterwerte verwenden. Diese können später in der Datenbank korrigiert werden, wenn die entsprechenden Verbindungen hergestellt sind.

Mit diesen Schritten kannst du fehlende Spalten hinzufügen und sicherstellen, dass deine Datenbank die richtigen Beziehungen zwischen den Tabellen hat. Excel bietet einfache Möglichkeiten, um Foreign Keys zu ergänzen und zu überprüfen, sodass der Import fehlerfrei verläuft.