Import von CSV-Daten in eine Datenbank
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.
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.
=VERKETTEN(A1;" ";B1) verwenden.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.
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.
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:
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.
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:
Für größere Mengen an Daten kann die Funktion =DATUM(JAHR(A1);MONAT(A1);TAG(A1)) verwendet werden, um das Format zu standardisieren.
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.
=GLÄTTEN(A1) entfernt führende und nachfolgende Leerzeichen.=WECHSELN(A1;Zeichen(160);"") entfernt geschützte Leerzeichen, die oft bei Importen auftauchen.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.
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.
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:
Wenn eine Bestellung in die Datenbank importiert wird, muss die entsprechende Benutzer-ID (Foreign Key) mit einem existierenden Benutzer in der Benutzer-Tabelle übereinstimmen.
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.
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.
Daten manuell oder automatisch ausfüllen:
Je nachdem, welche Daten du hast, kannst du die Foreign Keys auf verschiedene Weisen füllen:
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.
Ü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.