Hallo zusammen,
ein Kunde liefert mir eine csv Datei die ich dann in meine MySQL-DB importieren will.
Ich wäre dankbar für Tips welcher meiner 3 Lösungswege der bessere ist.
1. LOAD DATA LOCAL INFILE
klappt wunderbar, allerdings habe ich viele Spalten in der CSV datei die ich nicht benötige. Mit folgendem Code konnte ich zwar was verändern....
ABER, das bezieht sich leider nur auf die MySQL Spalten in die er nichts schreibt, d.h. ich kann damit nicht definieren welche spalten er mir aus meiner csv datei beim auslesen überspringe soll. ![Frown](https://www.php-resource.de/forum/core/images/smilies/frown.gif)
--> Alternativ könnte ich hier für jede Spalte der CSV datei auch in MYSQL eine anlegen, und dann nur die notwendigen Daten bei der Select ausgabe aufrufen. (das ist sicherlich keine schöne Lösung und verbraucht unnötig viel Speicher)
2. Array + INSERT INTO
ne andere Idee wäre es die CSV Datei separate einzulesen (z.b. in ein Array) um sie dann zeile für zeile mit "insert into" reinzuschreiben.
3. Mischung aus beidem
CSV Datei einlesen, in einer neuen txt datei formatiert abspeichern, um die bearbeitete neue txt datei dann mit LOAD DATA LOCAL INFILE zu importieren.
--------------
Welche Version ist nun besser? Oder bin ich grad so blind und es gäbe eine viel einfachere Variante?
Vielen Dank schon mal für die Hilfe
LG, Florian
ein Kunde liefert mir eine csv Datei die ich dann in meine MySQL-DB importieren will.
Ich wäre dankbar für Tips welcher meiner 3 Lösungswege der bessere ist.
1. LOAD DATA LOCAL INFILE
klappt wunderbar, allerdings habe ich viele Spalten in der CSV datei die ich nicht benötige. Mit folgendem Code konnte ich zwar was verändern....
PHP-Code:
LOAD DATA LOCAL INFILE 'datei.txt' ... (spalte1, spalte2)
![Frown](https://www.php-resource.de/forum/core/images/smilies/frown.gif)
--> Alternativ könnte ich hier für jede Spalte der CSV datei auch in MYSQL eine anlegen, und dann nur die notwendigen Daten bei der Select ausgabe aufrufen. (das ist sicherlich keine schöne Lösung und verbraucht unnötig viel Speicher)
2. Array + INSERT INTO
ne andere Idee wäre es die CSV Datei separate einzulesen (z.b. in ein Array) um sie dann zeile für zeile mit "insert into" reinzuschreiben.
3. Mischung aus beidem
CSV Datei einlesen, in einer neuen txt datei formatiert abspeichern, um die bearbeitete neue txt datei dann mit LOAD DATA LOCAL INFILE zu importieren.
--------------
Welche Version ist nun besser? Oder bin ich grad so blind und es gäbe eine viel einfachere Variante?
Vielen Dank schon mal für die Hilfe
LG, Florian
Kommentar