CSV Datei lesen

Zugriff, Engines, Konvertierung. Von ADS über DBF bis zu SQL.

Moderator: Moderatoren

Antworten
JanR
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 129
Registriert: Di, 18. Okt 2005 14:44

CSV Datei lesen

Beitrag von JanR »

Hallo allerseits,

ich habe eine CSV Datei mit 4000 Datensätzen. Die einzelnen Spalten sind durch TAB getrennt. Jetzt habe ich die Datei mit der DELDBE geöffnet und in einem Browse dargestellt. Das klappt auch soweit, aber es werden nicht alle Datensätze angezeigt. Es fehlen rund 700 Stück.

Hat jemand eine Idee woran das liegen kann?


Gruß
Jan
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: CSV Datei lesen

Beitrag von Martin Altmann »

Hallo Jan,
yup.
Die Anzahl der Tabs stimmt nicht! In (mindestens) einer Zeile stehen zu viele oder zu wenig Tabs drin!
Ich öffne in solchen Fällen die csv-Datei immer in einem normalen Editor, ersetzte alle Trennzeichen durch sich selbst (also in Deinem Fall alle TAB durch TAB) und schaue mir an, welche Anzahl an Ersetzungen zurückgeliefert wird.
Dann teile ich diese Anzahl durch die Anzahl der Zeilen - wenn das nicht aufgeht, ist das die Ursache.
Dann arbeite ich mich langsam vor, bis ich die betreffende(n) Zeile(n) korrigiert habe. Also immer wieder das gleiche Vorgehen, aber jetzt nicht im gesamten Text, sondern in der ersten Hälfte und der zweiten Hälfte. Usw.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
JanR
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 129
Registriert: Di, 18. Okt 2005 14:44

Re: CSV Datei lesen

Beitrag von JanR »

Hi Martin,

Danke für den Tip. Aber das ist alles korrekt. Habe jetzt mal mit Excel die CSV Datei neu abgespeichert und auch mal als TXT abgespeichert und in beiden Fällen geht es ohne Probleme. Nur eben nicht mit der original CSV Daite. :banghead:
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16517
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: CSV Datei lesen

Beitrag von Martin Altmann »

Hallo Jan,
na eben! Die originale csv-Datei ist fehlerhaft! Das erneute Speichern in Excel korrigiert die Probleme.
Ein anderes - gerne passierendes - ist das Benutzen des Charactertrennzeichens innerhalb eines "Feldes" (DELDBE_DELIMITER_TOKEN). Also zu viele " (oder was auch immer in Deinem Fall genommen wurde).
Du kannst sie ja gerne mal zippen und zumailen - ich schau es mir mal an!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15697
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: CSV Datei lesen

Beitrag von brandelh »

Hi,

je nach Erstellungsprogramm könnten auch chr(26) = Dateiende oder chr(0) (Stringende bei C/C++) Ärger machen,
daher öffne ich zuerst alle Textdateien mit memoedit() und prüfe auf solche Zeichen, welche ich dann mit " " überschreibe.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: CSV Datei lesen

Beitrag von Tom »

Hat jemand eine Idee woran das liegen kann?
Am ersten Datensatz, der nicht mehr gelesen werden kann. Oder am letzten, der noch (teilweise?) gelesen wurde.
Herzlich,
Tom
Antworten