CSVfox
Get the job done.
 Deutsch

+fixed

Feste Feldlängen beim Lesen einer TEXT oder RECORD Eingabedatei definieren

Beschreibung

Dieser Befehl ist nur für TEXT oder RECORD Eingabedateien gedacht.
Er hat keine Bedeutung für CSV Dateien.

Diese Dateitypen bestehen aus Datensätzen mit festen Feldlängen. Der Befehl +fixed Befehl listet die Breite der einzelnen Felder auf, die zusammen den Datensatz bilden.
Der Datensatz kann nicht nur gültige Daten enthalten, sondern auch ungenutzte Bereiche oder Auffüllungen, die nicht als Datenfelder interpretiert werden sollten. Sie haben ebenfalls eine Breite.

Ungenutzte Bereiche müssen mit einem Doppelpunkt (:) markiert werden. Sie werden nicht als gültige Datenfelder weitergegeben, sondern ausgelassen.

Die Summe aller Breiten (Daten und ungenutzte) muss genau die Datensatzlänge ergeben (mit einer Ausnahme, siehe unten).
In TEXT Eingabedateien beinhaltet diese Breite nicht den Zeilenumbruch, der die Datenzeilen trennt.
In RECORD Eingabedateien gibt es keinen trennenden Zeilenumbruch zwischen den Datensätzen, so dass dies die absolute Länge jedes Datensatzes ist, unmittelbar gefolgt vom nächsten Datensatz mit identischer Länge.

Mehr als ein +fixed Befehl:
Da es in TEXT Dateien eine große Anzahl von Spalten geben kann, ist es möglich, mehrere aufeinanderfolgende +fixed Befehle zu geben. Deren Inhalt wird dann intern zu einer einzigen Gesamtliste von Breitenwerten verkettet.

Nur für die Eingabedatei TEXT:
Wenn die letzte angegebene Feldlänge 0 ist, bedeutet dies, dass diese Spalte eine variable Länge hat und bis zum nächsten Zeilenumbruch reicht. Das bedeutet, dass dieses letzte Feld in diesem Fall keine Zeilenumbrüche enthalten kann (die anderen Felder schon).

Muster

+fixed=n1,n2,n3...

Beispiele für die Verwendung

csvfox infile.txt +e=ASCII +fileype=TEXT +fixed=10,30,30,:2,5,20,35,4,:16 outfile.csv
Liest infile.txt als ASCII-kodierte Textdatei mit fester Breite, mit einem Datensatz pro Zeile.
Das erste Feld hat eine Breite von 10 Zeichen, dann folgen zwei Felder mit einer Breite von jeweils 30 Zeichen.
Dann folgt eine Lücke von zwei Zeichen, deren Inhalt ignoriert werden soll.
Danach folgen einige Felder mit einer Breite von 5, 20 und 35 Zeichen und schließlich ein Feld mit einer Breite von 4 Zeichen.
Schließlich bleiben am Ende noch genau 16 Zeichen, die ignoriert werden sollen. Dabei kann es sich um Füllmaterial handeln oder um Daten, die nicht weiter benötigt werden.
Alle gültigen Felder werden im Standardformat CSV in die Datei outfile.csv in der Standardkodierung geschrieben.
Under construction, coming soon