AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

csv Normung

Ein Thema von Pfaffe · begonnen am 14. Apr 2021 · letzter Beitrag vom 19. Apr 2021
Antwort Antwort
Seite 1 von 2  1 2      
Pfaffe

Registriert seit: 29. Jan 2009
294 Beiträge
 
Delphi 12 Athens
 
#1

csv Normung

  Alt 14. Apr 2021, 08:34
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.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
674 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: csv Normung

  Alt 14. Apr 2021, 08:47
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
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
564 Beiträge
 
Delphi XE6 Enterprise
 
#3

AW: csv Normung

  Alt 14. Apr 2021, 09:42
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.291 Beiträge
 
Delphi 12 Athens
 
#4

AW: csv Normung

  Alt 14. Apr 2021, 10:21
- 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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.937 Beiträge
 
Delphi 12 Athens
 
#5

AW: csv Normung

  Alt 14. Apr 2021, 17:18
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.
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#6

AW: csv Normung

  Alt 16. Apr 2021, 08:14
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)
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.487 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: csv Normung

  Alt 16. Apr 2021, 08:32
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...
Thomas Mueller
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
564 Beiträge
 
Delphi XE6 Enterprise
 
#8

AW: csv Normung

  Alt 16. Apr 2021, 15:45
Nicht zu vergessen die Datums/Uhrzeit und Dezimal-/Tausendertrennzeichen-Hölle.
Vor allem, wenns gemischt auftritt. Ist mir mal bei einer Lieferschein-CSV untergekommen: EK und VK mit Dezimalkomma, aber Anzahl und Gewicht mit Dezimalpunkt. Wer zum Henker kommt denn auf sowas? Und warum?
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.444 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: csv Normung

  Alt 16. Apr 2021, 08:45
- 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)
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#10

AW: csv Normung

  Alt 16. Apr 2021, 09:37
- 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.
So war es gemeint. Eine Fehlermeldung / Warnung ist besser als eine Verschiebung korrigieren zu müssen.
Bei leeren Zeilen am Ende ist es wie du sagtest theoretisch unkritisch, aber woher willst du wissen das das so korrekt ist (ohne es sich explizit anzuschauen)?
Beispiel:

"Wenn du";"das meinst";"";"";"";"" -> Dort wären die hinteren durchaus möglich sie weg zu lassen. ABER das hätte folgendes Ergebnis:
"Wenn du";"das meinst" -> Wenn du nur dies hast, woher willst du definitiv sicher sein, das es nicht evtl so hätte sein sollen:
"";"";"";"";"Wenn du";"das meinst"

Ein Weglassen halte ich für fahrlässig und würde lieber die leeren "Spalten" haben, denn dann ist es prüfbar. Bei allem anderen läuten bei mir eher die Alarmglocken und würde das jeder Zeit anmahnen.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz