Vermeiden Sie Standard-Anführungszeichen aus der CSV-Datei, wenn Sie fputcsv verwenden

8

Vermeiden Sie Standard-Anführungszeichen von csv mit fputcsv

%Vor%

In test.csv

%Vor%

Wie vermeidet man die obigen Zitate?

Wie unten

%Vor%     
Justin John 17.07.2012, 06:01
quelle

2 Antworten

11

Zwei doppelte Anführungszeichen werden verwendet, um doppelte Anführungszeichen zu vermeiden. Es sieht also so aus, als ob Ihr Datum / Uhrzeit schon zitiert wird. Wenn Sie nur eine korrekt zitierte CSV-Datei erhalten möchten, können Sie versuchen, vorhandene doppelte Anführungszeichen zu entfernen (dies könnte ein wenig rohe Gewalt sein):

%Vor%

Das fputcsv möchte etwas um eine Zeichenfolge mit einem Leerzeichen einfügen. Wenn Sie also überhaupt keine Anführungszeichen benötigen, müssen Sie entweder arbeiten oder eine eigene Funktion ausführen was du willst. Es gibt viele gute Lösungen unter diese Frage ( Bearbeiten : Dies war ein anderer Link). Alternativ dazu gibt es eine Reihe anderer Lösungen in den Kommentaren des PHP-Handbuchs .

Basierend auf dem ersten Link können Sie Folgendes tun:

%Vor%     
John C 17.07.2012, 06:20
quelle
1

Ich weiß, dass dies eine alte Frage ist, aber ich hatte ein ähnliches Problem und gab schließlich fputcsv auf und nur und nur echo ed es mit den richtigen Headern, um dem Browser mitzuteilen, dass er die Datei herunterladen soll. Ich weiß, dass dies nicht speziell das Problem mit fputcsv anspricht, aber angesichts der Zeit, die ich dafür aufgewendet habe und erkannt habe, dass es keine Lösung für das Weltraumproblem gibt (außerhalb dessen, was wahrscheinlich mehr Arbeit ist, als das Problem verdient, wenn es gerade ist) möglich), ging ich mit der einfachsten Lösung. Wenn das Ziel darin besteht, eine dynamische, herunterladbare CSV-Datei zu erstellen, erfüllt der folgende Code die Aufgabe relativ einfach und flexibel. Mein Problem war, dass ALLE Felder in Anführungszeichen eingeschlossen werden mussten, wie es für einen Dienst erforderlich ist, den ich verwende. Aber einige Felder hatten Leerzeichen, was bedeutet, dass ein einzelnes (oder doppeltes) Zitat automatisch von fputcsv hinzugefügt wird und das bedeutete, dass ich Werte wie "'this is a value'" bekam. Egal was ich versuchte, es würde die Daten nicht korrekt ausgeben. So löst es es (aber es verwendet nicht fputcsv , aber ich glaube nicht, dass es notwendig ist, da das Ergebnis das gleiche ist):

%Vor%

Sie können auch festlegen, dass Werte in doppelte Anführungszeichen eingeschlossen werden, wenn dies gewünscht wird, etwa indem Sie Folgendes tun:

%Vor%

Hoffentlich spart dies Zeit, wenn sie Probleme mit diesem speziellen Formatierungsproblem haben.

    
Aaron Ratner 16.11.2014 05:54
quelle

Tags und Links