- Beiträge: 32
CSV Merge für 3 Dateien
- Tim
- Autor
- Offline
- Benutzer
Ich habe vor, nachfolgende Problematik mit dem FH zu lösen:
3 Dateien, deren "Datensätze" durch eine ID verbunden sind, deren Datensätze zusammengefasst werden müssen. Als Ergebnis stelle ich mir eine CSV oder Excelfile vor.
file 1 enthält folgenden Aufbau:
make,model,bodypart,Bezeichnung,IDCode,Verkaufsbezeichnung,bla bla bla (9 weitere Felder)
IDCODE ist unique für jeweils einen csv-datensatz
file 2 enthält folgenden Aufbau:
IDCODE, PS, KMH, CCM, Antrieb,Kraftstoff, Hub, HSN, TSN, bla bla bla (15 weitere Felder
IDCODE ist unique für jeweils einen csv-datensatz
file 3 enthält folgenden Aufbau:
IDCODE, Artikelbezeichnung1, Artikelbezeichnung2, Nummer1, Nummer2, Nummer3, Lochkreis, Gutachten, Kegelbund, KitNr bla bla bla (12 weitere Felder + PDF file)
IDCODE ist NICHT unique und steht für 10 bis 15 Datensätze
Ich arbeite mit der V2.5...des FH und lese soeben das eine neue Version das lesen mehrerer eingehender Dateien unterstützt, Nun macht sich bei mir gerade Unmutbreit, denn wie ich lese, müsste ich in eine neue Vollversion investieren um die die von mir meistgenutzte Funktionalität nutzen zu können.
Gruß
Tim
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tim
- Autor
- Offline
- Benutzer
- Beiträge: 32
IDCODE von File 1 und File 2 werden bereits in einen NET Heater verglichen. Bei Treffer wird die Verarbeitung abgebrochen.
Eine For Each durchläuft den Inhalt von File 2 welches zuvor einmalig in ein globales Array eingelesen wurde, zeilenweise.
Alle anderen Felder aus File1 weren auf der write Seite auch problemlos geschrieben.
Was fehlt, sind die restlichen Werte aus CSV-File2, welche ich bei Treffer ebenfalls gerne auf der Write Seite geschrieben haben möchte - (notfalls in einem Stück, csv-formatiert ist es ja bereits und sieht etwa wie folgt aus)
P00001490001409,"211 PS / 155 kW","245 km/h","2497 ccm","RWD","essence","XXXX XXX 60° XX1,XXX,0 sw 17 ","Coupe","2006-","905 - 905 / 1045 - 1045 ","XX*XXXX/XXX*XXX*01","XXX/XXX","XX, W"
Mir ist bekannt das ich mit
InValues(n).GetString() auf zuvor angelegte Parameter zugreifen kann, die ich aus o.g. Array heraus picken kann, doch schön ist anders.
Ferner stellt sich mir noch die Frage, wie das dann mit File3 bewerkstelligt werden könnte, welches bis zu 150 Zeilen je IDCODE bereit hält?
best regards,
Tim
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Version 3.x)
Die neue Version unterstützt z.Zt. mehrere Adapter nur auf der WRITE Seite. Für die READ Seite ist das für Version 3.x in Planung. Im Herbst 2013 wird hier mit einer ersten Version zu rechnen sein. Ich finde schon alleine die Antwort auf Ihre Frage wäre das Update WertIch arbeite mit der V2.5...des FH und lese soeben das eine neue Version das lesen mehrerer eingehender Dateien unterstützt, Nun macht sich bei mir gerade Unmutbreit, denn wie ich lese, müsste ich in eine neue Vollversion investieren um die die von mir meistgenutzte Funktionalität nutzen zu können.
Matchen von Werten) Dazu müssen Sie nicht einen .NET Script Heater verwenden. Über den String Replace Heater können Sie problemlos eine Listenverarbeitung durchführen. Mit den Einstellungen (s. Screenshot) können Sie über einen nachfolgenden IF-THEN-ELSE Heater auf gleich oder ungleich „NOT FOUND“ prüfen und sie können matchen ob ein Eintrag in einer weitere CSV Datei vorhanden ist.
Ihre eigentliche Frage) Für Ihr Vorhaben würde ich die CSV Dateien nacheinander in eine temporäre Datenbank schrieben und anschließend über eine weitere Definition wieder exportieren. Mittels des SQLite Adapters benötigen Sie hier nicht einmal eine Datenbank bzw. ein Frontend dazu. Der SQLite Adapter kann die Datenbank sowie die Tabelle(n) dynamisch anlegen sowie erweitern. Ein Beispiel wie es geht finden Sie hier: CSV Daten mergen geht auch mit Version 2.5
Das mit Ihrer dritten CSV Datei habe ich nicht ganz verstanden? Wie sollen die Daten ausgegeben werden, in eine Zeile oder alle Daten der ersten und zweiten CSV Datei wiederholt zu jedem passenden Datensatz?
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.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Tim
- Autor
- Offline
- Benutzer
- Beiträge: 32
Die neue Version unterstützt z.Zt. mehrere Adapter nur auf der WRITE Seite. Für die READ Seite ist das für Version 3.x in Planung. Im Herbst 2013 wird hier mit einer ersten Version zu rechnen sein. Ich finde schon alleine die Antwort auf Ihre Frage wäre das Update Wert
Zu Begin hatte meine erste FH Version ihr Geld hart verdient, sie wurde sehr oft genutzt.ein Dozent hatte ihn uns auf einer Schulung ans Herz gelegt und ich war Feuer und Flamme
Die 2.5.* habe ich erst 2x gebraucht (Alle bisherigen Anwendungsfälle wären mit der 3.0 entschieden einfacher gewesen, doch die gabs derzeit halt noch nicht.
Sicherlich, privat für mich wird es noch zu einer 3.0 noch kommen, für den hiesigen Auftraggeber kann ich es noch nicht mit Sicherheit sagen (ebenfalls FH Lizenz Kunde)
Ich könnte ja mit einer Testversion starten, aber auf 10000 Datensätze werde ich innerhalb der ersten halben Stunde kommen.
Das mit Ihrer dritten CSV Datei habe ich nicht ganz verstanden? Wie sollen die Daten ausgegeben werden, in eine Zeile oder alle Daten der ersten und zweiten CSV Datei wiederholt zu jedem passenden Datensatz?
Nach Zusammenführung der ersten beiden csv-Dateien, müssen noch Produktdaten zugeordnet werden. Bis zu 500 Datensätze je IDCODE.
Diese befinden sich in zahlreichen einzelnen csv files, die ich durchsuchen muss um alle Matches zu finden. Dazu fällt mir zunächst nur eine Lösung per NET Heater ein.
Vielen Dank, meine Fragestellung wurde hiermit beantwortet.
Gruß Tim
Bitte Anmelden oder Registrieren um der Konversation beizutreten.