Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   csv Normung (https://www.delphipraxis.net/207608-csv-normung.html)

Pfaffe 14. Apr 2021 09:34

csv Normung
 
Gibt es eigentlich eine Art DIN für csv? Also eine Normung oder eine Art "Stand der Technik"?
Wir haben eine externe Software mit csv-Schnittstelle, in der wird ein Text nicht gequoted, was zu Problemen führt, da unsere Texte auch das Trennungszeichen beinhalten.

joachimd 14. Apr 2021 09:47

AW: csv Normung
 
soweit ich weiß, nicht. Excel, LibreOffice usw bietet bei CSV die diversen Optionen an (mit/ohne Quotes, Trenner beliebig, feste/flexible Spaltenbreite, mit/ohne Titel, Zeichensatz) und auch die Import-Schnittstellen, welche ich bei diversen Datenbanken/Programmen kenne, sind hier recht offen.
An Deiner Stelle würde ich soviel Probleme wie möglich abfangen, d.h.
- mit Titelzeile
- Trenner ';'
- Text in Quotes
- UTF-8

Daniel 14. Apr 2021 09:47

AW: csv Normung
 
Einen verbindlichen Standard gibt es leider nicht. Die wichtigsten Aspekte dürften im RFC 4180 (https://tools.ietf.org/html/rfc4180) zusammengefasst sein.
Und ja, es ist eine Pest, wenn externe Software diese Dateien schlampig erstellt.

Pfaffe 14. Apr 2021 10:35

AW: csv Normung
 
Danke für die Antworten. Das ist in der Tat ziemlich Blöde.

Frickler 14. Apr 2021 10:42

AW: csv Normung
 
Zitat:

Zitat von joachimd (Beitrag 1487103)
soweit ich weiß, nicht. Excel, LibreOffice usw bietet bei CSV die diversen Optionen an (mit/ohne Quotes, Trenner beliebig, feste/flexible Spaltenbreite, mit/ohne Titel, Zeichensatz) und auch die Import-Schnittstellen, welche ich bei diversen Datenbanken/Programmen kenne, sind hier recht offen.
An Deiner Stelle würde ich soviel Probleme wie möglich abfangen, d.h.
- mit Titelzeile
- Trenner ';'
- Text in Quotes
- UTF-8

- Zeilenumbrüche zwischen 2 Feldern
- Zeilenumbrüche innerhalb eines Feldes

himitsu 14. Apr 2021 11:21

AW: csv Normung
 
Zitat:

Zitat von Frickler (Beitrag 1487110)
- Zeilenumbrüche innerhalb eines Feldes

Zwischen Quotes isses ja OK (auch wenn viele CSV-Importer nicht verstehen und dann alles falsch zerlegen),

aber es gibt auch so Spaßiges wie #13#10 als Datensatzende und #10 als Zeilenumbruch im Feld.

Rollo62 14. Apr 2021 18:18

AW: csv Normung
 
Zitat:

Zitat von Frickler (Beitrag 1487110)
Zitat:

Zitat von joachimd (Beitrag 1487103)
soweit ich weiß, nicht. Excel, LibreOffice usw bietet bei CSV die diversen Optionen an (mit/ohne Quotes, Trenner beliebig, feste/flexible Spaltenbreite, mit/ohne Titel, Zeichensatz) und auch die Import-Schnittstellen, welche ich bei diversen Datenbanken/Programmen kenne, sind hier recht offen.
An Deiner Stelle würde ich soviel Probleme wie möglich abfangen, d.h.
- mit Titelzeile
- Trenner ';'
- Text in Quotes
- UTF-8

- Zeilenumbrüche zwischen 2 Feldern
- Zeilenumbrüche innerhalb eines Feldes

Ja das kommt meistens anders als man denkt.
Ich ersetze meistens alle CrLf innerhalb von Zellen durch \r\n (im C-Stil), und beim Lesen wieder zurück.

Man könne aber auch solche Felder als Base64 oder zu HEX konvertieren, was es dann aber nicht mehr lesbar macht.

Moombas 16. Apr 2021 09:14

AW: csv Normung
 
Zitat:

Zitat von Frickler (Beitrag 1487110)
Zitat:

Zitat von joachimd (Beitrag 1487103)
soweit ich weiß, nicht. Excel, LibreOffice usw bietet bei CSV die diversen Optionen an (mit/ohne Quotes, Trenner beliebig, feste/flexible Spaltenbreite, mit/ohne Titel, Zeichensatz) und auch die Import-Schnittstellen, welche ich bei diversen Datenbanken/Programmen kenne, sind hier recht offen.
An Deiner Stelle würde ich soviel Probleme wie möglich abfangen, d.h.
- mit Titelzeile
- Trenner ';'
- Text in Quotes
- UTF-8

- Zeilenumbrüche zwischen 2 Feldern
- Zeilenumbrüche innerhalb eines Feldes

- Unterschiedliche Anzahl an Trennern ("Spalten") in den einzelnen Zeilen sind auch gerne für Probleme ursächlich (Verschiebung der Daten, wenn ein Trenner fehlt)

dummzeuch 16. Apr 2021 09:32

AW: csv Normung
 
Nicht zu vergessen die Datums/Uhrzeit und Dezimal-/Tausendertrennzeichen-Hölle.

Es könnte so einfach sein, wenn es ein genormtes Format gäbe, das alle unterstützen...

Blup 16. Apr 2021 09:45

AW: csv Normung
 
Zitat:

Zitat von Moombas (Beitrag 1487250)
- Unterschiedliche Anzahl an Trennern ("Spalten") in den einzelnen Zeilen sind auch gerne für Probleme ursächlich (Verschiebung der Daten, wenn ein Trenner fehlt)

Wenn es dadurch zu Verschiebung der Daten kommt, ist das ein Fehler beim Export. Das kann man beim Import höchstens mit einer Fehlermeldung abfangen.

- Je nach Definition können ungenutzte Spalten am Ende der Zeile entfallen.
- Definition Format für Datum/Zeit
- Definition Trennzeichen für Währungsbeträge, Zahlen (Nachkommastellen, optional Tausenderstellen, oder als Festkomma z.B. 10Euro = 1000)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf