Wie werden Kommata und Anführungszeichen im CVS Datenformat kodiert?

Lezurex  09.07.2023, 10:57

Du meinst CSV, nicht CVS, oder?

gogogo 
Fragesteller
 09.07.2023, 11:32

Ja, natürlich. Der Fehler passiert mir leider häufiger.

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

CVS steht für "Comma-Separated-Values" und ist die einfachste Art Daten tabellarisch zu speichern.

In der Grundform sind die Spalten durch das Semikolon und die Zeilen durch das Zeilenendezeichen getrennt. Alles andere kann man dann benutzen wie man will.

Es hängt dann von dem Programm das die CSV verarbeitet ab welche Zeichen es sonst noch interpretiert und die man so nicht für andere Zwecke nutzen kann. Das muss man dann ggf in den Einstellungen des Programms abschalten.

Zeichen maskieren oder irgendwas anderes als Semikolon und Zeilenende als Steuerzeichen ist bei CSV nicht definiert.

Damit kannst Du also per Definition der CSV also Kommas, Anführungszeichen, Hochkommas usw. beliebig verwenden.

Ob das Programm das die CSV verarbeitet da noch anderes interpretiert musst Du dann in der Anleitung zu diesem Programm durch lesen. Bei Excel werden viele Zeichen automatisch als Steuerzeichen benutzt um mehr Excel-Funktionen möglich zu machen. Hier kann man aber weitgehend eingreifen.

Das ist wie mit reinen ASCII-Text Dateien. Da gibt es keinen Fettdruck, Schriftgrößen usw. Aber macnhe Programme können dann Dinge wie *Fettdruck* oder /Kursiv/ interpretieren.

Woher ich das weiß:Berufserfahrung
gogogo 
Fragesteller
 09.07.2023, 11:36

Danke, der Teilsatz "... nicht definiert" ist das, was ich brauchte. Schade, dass es escapen von Zeichen offensichtlich nicht vorgesehen ist.

0
Commodore64  09.07.2023, 11:38
@gogogo

Das hängt wie gesagt von dem Programm ab das die Daten interpretiert. Normal kann man also Anführungszeichen und normale Kommas benutzen die dann Teil der Daten werden. So muss man ja bei Deutscher Zahlendarstellung das Komma benutzen für Kommastellen.

1
Commodore64  09.07.2023, 11:55
@gogogo

Fun fact:

CSV kommt aus den 1950er Jahren wo alles absolut simpel sein musste und am besten auch direkt von einem Menschen gelesen werden kann. Da war dann nichts mit Escapen und anderen Aufwändigen Dingen.

Die ersten Satellitenbilder hat man als Zahlen, also sozusagen als CSV ausgedruckt und dann mit bunten Filzstiften die Ziffern angemalt (Damals 4 Farben) was dann schneller ging als die Daten dann von einem Computer in ein Bild umrechnen zu lassen. Grafikkarten die Bilder darstellen konnten gab es damals nicht.

1
Trennsymbol für die Spalten ist das Komma. Das ist gegeben und unumstößlich.

Das ist nicht richtig. Das Format nennt sich zwar Comma-Separated-Values (CSV) aber in der Praxis hat der Anwender, die freie Wahl, was er als Trennzeichen verwenden will. M$-Programme erzeugen üblicherweise CSV-Dateien mit Semikolon als Trennzeichen. Aber du kannst auch Tabulator, Punkt, # oder irgendein anderes Zeichen verwenden.

Beim Einlesen in eine Tabellenkalkulation und umwandeln (Text-in-Spalten) kann man den geeigneten Trenner auswählen. LibreOffice Calc erlaubt auch beim Erzeugen, die Auswahl des Trennzeichens.

Ich bevorzuge den Tabulator, da CSV nur eine reine Textdatei (ASCII) ist und die Datei beim Öffnen mit einem simplen Texteditor sofort als Tabelle erscheint.

Woher ich das weiß:eigene Erfahrung
gogogo 
Fragesteller
 09.07.2023, 11:40

Danke, aber ich hatte das so formuliert, dass ich genau das Separatorzeichen in den Daten irgendwie speichern möchte.

Daher ist das Komma unumstößlich für mich.

Dass ich auf andere Zeichen ausweichen kann, war mir klar.

Ich bevorzuge auch das Tabulatorzeichen.

0
Trennsymbol für die Spalten ist das Komma. Das ist gegeben und unumstößlich.

... dann bleibt Dir nur die Daten in Hochkammas (") einzuschließen, was manche Exportfunktionen, wie hier am Beispiel von LibreOffice Calc gezeigt, auch direkt so anbieten.

Bild zum Beitrag

 - (Datei, Excel-Formel, Codierung)
gogogo 
Fragesteller
 09.07.2023, 12:52

Nur widerspricht das (nicht ausprobiert) der Möglichkeit, Anführungszeichen zu kodieren.

0
evtldocha  09.07.2023, 12:55
@gogogo

Dann verwende eben keinfomatloses Dateiformat, wenn Du Formatierungen haben wills. Du hast wirklich an jeder Antwort was zu meckern.

0
gogogo 
Fragesteller
 09.07.2023, 13:07
@evtldocha

Das ist kein Meckern. Es ist genau der Konflikt mit dem Trennzeichen und den Anführungszeichen, der mich zum Stellen dieser Frage bewogen hat.

Ich hatte das Gefühl, dass ich was übersehen hatte.

0

Die Frage ist Sinn und zwecklos weil das kannst du selber ausprobieren. Eine Codierung ist nicht notwendig.