Der Daten Import / Export Spezialist
Schauen Sie sich auch die verfügbaren Beispiele zum TextFile Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: Codepage konvertieren 1 / 2 , Verarbeitung von CSV Kopf- und Fußzeilen , Import und Export von vCard Textdateien

Splitt, Filter, search von CSV-Datei

  • Gerhard Samstag
  • Offline
  • Neues Mitglied
  • Neues Mitglied
Mehr
1 Jahr 9 Monate her #4306 von Gerhard Samstag
Splitt, Filter, search von CSV-Datei wurde erstellt von Gerhard Samstag
Hallo Robert,

ich bräuchte mal Deine Unterstützung. Folgendes Szenario darf ich bewältigen:
1) Lesen einer CSV-Datei und schreiben in einen SQL-Server
2) Diverse Felder werden dabei gemappt.
3) Ein Feld beinhaltet jetzt meine Herausforderung. Das Feld kann z.B. folgenden Inhalt haben (Trennzeichen ist immer ein Leerzeichen):
"aa bb cc-like-dd ee ff"
"dd-like-gg kk jj uu"
"ee uu zz uu-like-vv"
"ii-like-bb"

Das Ergebnis was ich in eine Spalte auf der Write-Seite schreiben muss ist:
"cc-like-dd"
"dd-like-gg"
"uu-like-vv"
"ii-like-bb"
Das Zauberwort-Wort lautet "-like-". Den Text rechts und links von "-like-" muss ich auch unbedingt übertragen.

Als möglich Lösung ist mir eingefallen, dass ich im ersten Verarbeitungsschritt die Datei "normal" und ohne dieses Feld verarbeite. Im zweiten Verarbeitungsschritt lese ich nur die Zeilen-ID und dieses Feld ein, nutze dann einen Splitt-Header auf die erste Spalte und Filtere dann nach "-like-" (wobei ich den Bergriff "contain" im Heater noch finden muss) und schreibe bei einem Treffer den Inhalt per Update in die Tabelle. Das wiederholte ich dann in weiteren Verarbeitungsschritten für alle möglichen weiteren Spalten (max 9).

Hättest Du da eine elegantere Lösung?

Vielen Dank schon jetzt für Deine Unterstützung und viele Grüße
Gerhard

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • FlowHeater-Team
  • Autor
  • Offline
  • Administrator
  • Administrator
Mehr
1 Jahr 9 Monate her #4307 von FlowHeater-Team
FlowHeater-Team antwortete auf Splitt, Filter, search von CSV-Datei
Hallo Gerhard,

am einfachsten geht es über den .NET Script Heater und untenstehenden kleinen C# Skript. Im Anhang findest du ein kleines Beispiel dazu.

Das Skript erwartet das Feld mit dem CSV Feld als Eingang. Dann wird der Inhalt anhand eines Leerzeichen in einzelne Teile zerlegt. Diese Teile werden nun geprüft ob hier „-like-“ vorkommt. Ist dies der Fall wird dieser Teile zurückgeliefert. Falls die Zeichenfolgen „-like-“ nicht vorkommt wird eine Leere Zeichenfolge zurückgeliefert.

C# Skript: Extended String Split
Code:
public object DoWork() {     if (InValues.Length != 1)         throw new Exception("Ein Eingangsparameter erwartet!");     // Ersten Eingangsparameter holen     string value = (string)InValues[0].GetString();     // Aufteilen anhand Leerzeichen als Trennzeichen     string [] parts = value.Split(' ');     // über alle Teile gehen und prüfen ob -like- vorkommt     foreach (string part in parts)     {         if (part.IndexOf("-like-", StringComparison.OrdinalIgnoreCase) > 0)         {             // wenn gefunden den Teil zurückgeben             return part;         }     }     // Falls nicht gefunden Leere Zeichenfolge zurückgeben     return String.Empty; }


 

Dateianhang:

Dateiname: extented-split.zip
Dateigröße:6 KB

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.

  • Gerhard Samstag
  • Offline
  • Neues Mitglied
  • Neues Mitglied
Mehr
1 Jahr 9 Monate her #4310 von Gerhard Samstag
Gerhard Samstag antwortete auf Splitt, Filter, search von CSV-Datei
Hallo Robert,

das ist ja eine super Lösung. Vielen vielen Dank.

Ganz besonders für den extra Service mit der fhd-Datei. Das hat mir sehr geholfen. Die Lösung von Dir ist auch bereits implementiert und funktioniert zu 100%.

Also Danke nochmals und 1000% TOP-JOB
Gerhard
 

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.322 Sekunden

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

Copyright © 2009-2023 by FlowHeater GmbH.
Alle Rechte vorbehalten.

Follow us on

twitter  facebook

YouTube

 de en