Frage

müssen große CSV-Dateien mit PHP verarbeiten. Die Arbeit mit FGETCSV und Performance scheint ziemlich gut zu sein.Für die noch bessere / schnellere Verarbeitung möchte ich die CSV-Dateien, um Spaltennamen in der ersten Zeile zu haben, die gerade fehlen.

Jetzt möchte ich mit PHP eine obere Zeile mit Spaltennamen hinzufügen, bevor Sie die Dateien mit FGETCSV verarbeiten.

Gibt es eine Möglichkeit, mit PHP einfach mit PHP eine Zeile aufzurichten?Oder würde dies bedeuten, dass ich einen Ansatz wie unten machen muss?

    .
  1. List-Artikel
  2. List-Artikel
  3. Erstellen Sie eine TEMP-Datei
  4. Fügen Sie die Spaltennamen in dieser Temp-Datei hinzu
  5. Original-CSV-Dateiinhalte lesen
  6. Setzen Sie den ursprünglichen CSV-Inhalt in die Temp-Datei
  7. Originaldatei löschen
  8. Benennen Sie die Temp-Datei umbenennen

    Jedes Feedback, wie dies auf den effektivsten Weg geht, ist sehr geschätzt.Danke für Ihre Zeit :)

War es hilfreich?

Lösung

    .
  1. Lesen Sie die CSV-Datei mit FETCSV.
  2. Schließen Sie die Datei.
  3. Öffnen Sie die Datei mit "W" (Write) -Modus.
  4. Schreiben Sie die Kopfzeile.
  5. Schließen Sie die Datei.
  6. Öffnen Sie die Datei mit "A" (APEND) -Modus.
  7. Schreiben Sie die CSV-Datei mit der FUTSCSV. Voila!

Andere Tipps

Bitte versuchen Sie es .. viel einfacher und direkt bis zum Punkt. generasacodicetagpre.

Sie sind fertig.Hoffe das hilft ...

Tun Sie es einfach so, wie Sie es zur Verfügung stellen.Es gibt keine einfache Möglichkeit, eine Datei am Anfang anstelle des Endes zu erweitern.Es ist wie das Schreiben auf Papier.Es ist einfach, neue Zeilen unter Ihrem Text hinzuzufügen, aber Sie können nicht über Ihren Text schreiben.

Verwenden Sie nicht generakodicetagcode oder fopen($file, "r+"), da diese vorhandene Zeilen am Anfang oder sogar alle Zeilen Ihrer Datei entfernen.

Warum nicht manuell in Ihrem Code in Ihrem Code definieren, insbesondere wenn jede Datei denselben Header hat? Wenn Sie den Header wirklich in CSV-Dateien einfügen müssen, bevor Sie sie verarbeiten, sollten Sie vielleicht in Betracht ziehen sed so: sed -i 1i'"header 1","header 2"' file.csv

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top