Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

deusexmachina
Beiträge: 6
Registriert: Fr, 23.05.2014 23:05

Alle Felder (auch Zahlen) bei CSV-Generierung zitieren

Beitrag von deusexmachina »

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.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

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

Beitrag von clag »

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?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

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

Beitrag von lorbass »

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
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

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

Beitrag von clag »

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 " ?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
deusexmachina
Beiträge: 6
Registriert: Fr, 23.05.2014 23:05

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

Beitrag von deusexmachina »

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.
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
deusexmachina
Beiträge: 6
Registriert: Fr, 23.05.2014 23:05

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

Beitrag von deusexmachina »

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.
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

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

Beitrag von lorbass »

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
Karolus
********
Beiträge: 7531
Registriert: Mo, 02.01.2006 19:48

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

Beitrag von Karolus »

Hallo

Dann taugt dein PHP-script nichts!

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
deusexmachina
Beiträge: 6
Registriert: Fr, 23.05.2014 23:05

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

Beitrag von deusexmachina »

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