Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03575.jsonl.gz/724

Wie importiert man Daten, die in Form einer CSV-Datei vorliegen, in eine beliebige TYPO3-Datenbanktabelle? Beispielsweise mit der Extension wil_importcsv. Das Vorgehen könnte nicht einfacher sein:
- Zunächst wird im Seitenbaum diejenige Seite (kann auch ein SysFolder sein) ausgewählt, in die man die Daten importieren möchte.
- Danach wählt man die zu importierende CSV-Datei, das darin verwendete Trennzeichen zwischen den Feldern (normalerweise ein Strichpunkt) sowie die Zieltabelle aus (vgl. Screenshot).
- Anschliessend erfolgt das Mapping, bei dem man die Felder der CSV-Datei (wird automatisch aus der ersten Zeile der CSV-Datei extrahiert) den Spalten der Datenbanktabelle zuordnet.
- Schliesslich erhält man eine tabellarische Vorschau des zu erwartenden Resultats und kann den Import per Knopfdruck auslösen.
Die Extension installiert ein Modul im TYPO3-Backend, das auch für Nicht-Administratoren zugänglich ist. In der Konfiguration kann man gewisse Einschränkungen vornehmen, beispielsweise dass normale Backend User nur in ausgewählte Datenbanktabellen importieren dürfen.
Die Extension hat insofern noch eine besondere Rafinesse, als die importierten Daten je nach dem nicht einfach der Datenbank hinzugefügt werden, sondern dass bestehende Datensätze mit der gleichen UID aktualisiert werden.
Auf der anderen Seite habe ich aber auch einen Bug gefunden: Wenn die CSV-Datei nicht nur UIDs, sondern auch PID (Page IDs) enthält, werden die Daten nicht in die entsprechende Seite (und auch nicht in die ausgewählte Seite) importiert, sondern immer in die Seite mit der ID 1. Das Problem kann man nur umgehen, indem man die PID aus der CSV-Datei löscht.