- Beiträge: 31
Unterschiedliche Spaltenstruktur in einer Datei
- Kai
- Autor
- Offline
- Benutzer
Weniger
Mehr
7 Jahre 2 Monate her #3336
von Kai
Unterschiedliche Spaltenstruktur in einer Datei wurde erstellt von Kai
Hallo Zusammen,
ich stoße gerade an meine Grenzen:
Die Aufgabe besteht darin, eine Ausgabedatei mit unterschiedlichen Spaltenstrukturen zu generieren, diese Strukturen sind durch Leerzeile getrennt, die Spaltenbezeichnung muss immer mitgegeben werden. Folgendes Beispiel:
PLZ, Ort, Straße, Nr
99999, Erfurt, Ottostraße, 1
Name, Vorname
Otto, Erwin
Müller, Franz
Telefonnummer, Email
1234, 1234@123.de
5678, 5678@123.de
Hat jemand eine Idee, wie man das realisieren kann?
ich stoße gerade an meine Grenzen:
Die Aufgabe besteht darin, eine Ausgabedatei mit unterschiedlichen Spaltenstrukturen zu generieren, diese Strukturen sind durch Leerzeile getrennt, die Spaltenbezeichnung muss immer mitgegeben werden. Folgendes Beispiel:
PLZ, Ort, Straße, Nr
99999, Erfurt, Ottostraße, 1
Name, Vorname
Otto, Erwin
Müller, Franz
Telefonnummer, Email
1234, 1234@123.de
5678, 5678@123.de
Hat jemand eine Idee, wie man das realisieren kann?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
7 Jahre 2 Monate her #3337
von FlowHeater-Team
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
FlowHeater-Team antwortete auf Unterschiedliche Spaltenstruktur in einer Datei
Hallo Kai,
um das zu realisieren benötigen Sie für jeden CSV Typ/Struktur eine eigene Definition, die jeweils eine separate CSV Datei erzeugt. Am Ende benötigen Sie eine weitere Definition die die dann so temporär generierten CSV Dateien zu einer zusammenfasst. Im Anhang finden Sie ein kleines Beispiel dazu, das Beispiel benötigt das Batch Modul !
Das Problem ist jetzt die Leerzeile als Satztrennzeichen. Im Beispiel verwende ich hierzu eine CSV Fußzeile. Die Fußzeile wird mit einem statischen Wert befüllt, der dann in der letzten Definition, die die CSV Dateien zusammenführt mit Hilfe des String Replace Heater wieder in eine Leerzeile ersetzt.
Damit beim Zusammenführen der unterschiedlichen CSV Dateien keine Satzart behandelt werden muss liest diese Definition lediglich eine Spalte als ganze Zeile ein und fügt diese an der endgültigen CSV Datei an. Damit das funktioniert wird das Batch Modul mit der Option /ReadFileName temp_*.csv aufgerufen. So werden alle generierten CSV Dateien am Ende verarbeitet und in die eigentliche Ausgabe CSV Datei geschrieben.
Klingt jetzt kompliziert, im ZIP Archiv finden Sie ebenfalls ein kleines CMD Skript worüber Sie das automatisiert aufrufen können.
CMD Skript zur Automatisierung
um das zu realisieren benötigen Sie für jeden CSV Typ/Struktur eine eigene Definition, die jeweils eine separate CSV Datei erzeugt. Am Ende benötigen Sie eine weitere Definition die die dann so temporär generierten CSV Dateien zu einer zusammenfasst. Im Anhang finden Sie ein kleines Beispiel dazu, das Beispiel benötigt das Batch Modul !
Das Problem ist jetzt die Leerzeile als Satztrennzeichen. Im Beispiel verwende ich hierzu eine CSV Fußzeile. Die Fußzeile wird mit einem statischen Wert befüllt, der dann in der letzten Definition, die die CSV Dateien zusammenführt mit Hilfe des String Replace Heater wieder in eine Leerzeile ersetzt.
Damit beim Zusammenführen der unterschiedlichen CSV Dateien keine Satzart behandelt werden muss liest diese Definition lediglich eine Spalte als ganze Zeile ein und fügt diese an der endgültigen CSV Datei an. Damit das funktioniert wird das Batch Modul mit der Option /ReadFileName temp_*.csv aufgerufen. So werden alle generierten CSV Dateien am Ende verarbeitet und in die eigentliche Ausgabe CSV Datei geschrieben.
Klingt jetzt kompliziert, im ZIP Archiv finden Sie ebenfalls ein kleines CMD Skript worüber Sie das automatisiert aufrufen können.
CMD Skript zur Automatisierung
Code:
@echo off
set FHBATCH="C:\Program Files\FlowHeater V4\BIN\FHBatch.exe"
REM evtl. von einem vorherigen Lauf erzeugte CSV Dateien löschen
if exist temp_*.csv del temp_*.csv
REM Output CSV ebenfalls löschen, da die letzte Definition lediglich Daten an eine bestehende Datei anfügt bzw. erstellt diese neu
if exist export.csv del export.csv
REM pro Satzart eine Definition ausführen
%FHBATCH% export_adressen.fhd
%FHBATCH% export_personen.fhd
REM CSV Dateien zusammenführen
%FHBATCH% /ReadFileName temp_*.csv create_export.fhd
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Anhänge:
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
Ladezeit der Seite: 0.265 Sekunden