Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von deusexmachina » So, 25.05.2014 16:49

@Karolus Vermutlich. Muss ich mir wohl selbst eines schreiben.

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von Karolus » So, 25.05.2014 16:11

Hallo

Dann taugt dein PHP-script nichts!

Karolus

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von lorbass » So, 25.05.2014 16:07

Wenn nichts anderes hilft und insbesondere dein PHP-Skript das nicht im Zuge der Abarbeitung der csv-Datei erledigen kann, bereite die csv-Datei mit einem Texteditor vor, der mit Regulären Ausdrücken umgehen kann, oder mit dem Writer. Die erforderlichen aber fehlenden Anführungszeichen werden dann in drei Schritten eingefügt.
  1. leere Zelle an einem Zeilenanfang
    Suchen nach: ^; — Ersetzen durch: "";
  2. leere Zelle innerhalb einer Zeile
    Suchen nach: ;; — Ersetzen durch: ;"";
  3. leere Zelle an einem Zeilenende
    Suchen nach: ;$ — Ersetzen durch: ;""
Gruß
lorbass

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von deusexmachina » So, 25.05.2014 15:24

Ich importiere die CSV-Datei über ein PHP-Skript (über fgetscsv) um die Daten in eine SQL-Datenbank zu schreiben. Als Feldtrennzeichen verwende ich ; und als Texttrennzeichen ".
Mein Problem nun ist, dass wenn es in der Datei leere Felder gibt, diese in der CSV als ;; dargestellt werden und das Skript, warum auch immer, "Schluckauf" bekommt und manchmal ein einzelnes Trennzeichen als Wert in die Tabelle schreibt.

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von Karolus » So, 25.05.2014 15:10

Hallo

Ja das hast du:
...nur die leeren Felder hätte ich gerne noch zitiert, da dies mir irgendwie Probleme beim Import macht.
Da würden jetzt etwas genauere Angaben zu "irgendwie" und "Import" helfen.

Karolus

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von deusexmachina » So, 25.05.2014 14:47

Vielleicht habe ich mich ein wenig unklar ausgedrückt - unter leere Felder verstehe ich natürlich leere Felder in einer Reihe mit wenigstens einem gefüllten Feld.

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von Karolus » So, 25.05.2014 03:52

Hallo
In meinen Augen besteht eine Calc Tabelle aus 1048576 leeren Zeilen mit 1024 leeren Spalten also 1.073.741.824 leeren Zellen oder?
Nein, zunächst ist das lediglich ein virtuelles Konzept, Calc stellt quasi eine "Eingabemaske" mit 1024Spalten mal 1048576Zeilen zur Verfügung, die werden nirgendwo abgespeichert ( was soll da auch gespeichert werden solange "nix drin steht" )

Persistent gespeichert werden nur die Koordinaten und die Inhalte beschriebener Zellen.
Da beim .csv-Export keine Möglichkeit besteht Koordinaten mitzugeben werden leere Zellen links und oberhalb beschriebener Zellen durch die entsprechende Zahl von Trennzeichen dargestellt.

Karolus

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von clag » Sa, 24.05.2014 19:25

Hallo lorbass,
deusexmachina hat geschrieben:auch Zahlfelder und Felder mit keinem Wert.
ist gewünscht

In meinen Augen besteht eine Calc Tabelle aus 1048576 leeren Zeilen mit 1024 leeren Spalten also 1.073.741.824 leeren Zellen oder?

wenn eine Tabelle nun leere Zellen beinhalten soll, hat Calc keinen Anhaltspunkt mehr wo ein Datenbereich endet, also gesamte Tabelle
wenn diese leeren Zellen wie gewünscht mit "" eingefasst werden sind das wie viel " ?

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von lorbass » Sa, 24.05.2014 19:00

clag hat geschrieben:[…] müssten allein 2.147.483.648 " Zeichen für eine leere Tabelle in die Datei geschrieben werden.
@clag, wenn du etwas über deine Theorie nachdenkst, sollte dir aufgehen, dass dann bei der Ausgabe ohne die Anführungszeichen »""« für jede der 1.048.576 leeren Zeilen 1.023 Trennzeichen geschrieben werden müssten, also z.B. »;;;; … ;;;«

Nein, tatsächlich würde – mit oder ohne Anführungszeichen – nur der tatsächlich benutze Bereich ausgegeben werden, von A1 bis zu der Zelle in der letzten benutzten Zeile und der letzten benutzten Spalte.

Gruß
lorbass

Re: Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von clag » Sa, 24.05.2014 18:24

Hallo deusexmachina,

wenn du etwas über deinen Wunsch nachdenkst sollte dir aufgehen, das das nicht so sehr sinnig ist,
denn würde Calc deinen Wunsch erfüllen, müssten allein 2.147.483.648 " Zeichen für eine leere Tabelle in die Datei geschrieben werden.

Ich gehe einmal davon aus, das ist auch nicht was du möchtest, oder?

Also nimm eine Zelle formatiere die als Text, füge ein Leerzeichen ein und vervielfältige diese Zelle zB durch ziehen
so oft wie du es für deine Tabelle brauchst, dann füllst du die Tabelle mit Inhalt.
Und eine im CSV Format gespeicherte Version sieht wie von dir gewünscht aus,
wenn weiterhin "Alle Textfelder zitieren" markiert ist.

hilft dir dieser Gedanke?

Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

von deusexmachina » Fr, 23.05.2014 23:43

Ich möchte ein CSV generieren in dem alle Felder mit Anführungszeichen zitiert werden - auch Zahlfelder und Felder mit keinem Wert. Ich habe in den Filtereinstellungen "Alle Textfelder zitieren" markiert aber leider funktioniert dies nicht. Kann mir jemand dabei helfen?

Edit: Das mit den Zahlen hat sich erledigt, nur die leeren Felder hätte ich gerne noch zitiert, da dies mir irgendwie Probleme beim Import macht.

Nach oben