Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: Extract aus zwei Dateien anhand eines gem. Wertes

Extract aus zwei Dateien anhand eines gem. Wertes 2 Jahre 9 Monate her #1633

  • Tamer Kor
  • Tamer Kors Avatar
  • Offline
  • New Member
  • Beiträge: 6
Hallo,
ich habe zwei Daten, eine CSV und ein Webserver Logfile.
Im CSV sind Orderdaten vorhanden:
32834,25.02.2014,10:17,604.800,719.800,115.000,ratepay_invoice,82911,1,359.900,302.437,57.463,4769464,359.900,Flanell-Pyjama,H.I.S
32834,25.02.2014,10:17,604.800,719.800,115.000,ratepay_invoice,82912,1,359.900,302.437,57.463,5173103,359.900,Pyjama,Buffalo

Wobei nur der erste Wert interessant ist, also 32834 für die erste Zeile.

In der zweiten Datei sind ist der Wert in Form von WT.tx_i=32834 drin.

Frage:
Ist es möglich beide Dateien auszulesen, gemeinsame Werte in eine neue Tabelle reinzuschreiben, wie z.Bsp. 32834.
Ist auch möglich Werte die jeweils in einer der beiden Daten nicht vorhanden sind, in jeweils zwei Dateien wegzuschreiben?

Vielen Dank im voraus für den Tip...
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Extract aus zwei Dateien anhand eines gem. Wertes 2 Jahre 9 Monate her #1634

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Hallo Herr Kor,

das können Sie mit einem CSV Listen Lookup über den String Replace Heater realisieren. Ein Beispiel wie es geht finden sie hier. CSV Listen Lookup

Das Wegschreiben von Zeilen die nicht vorhanden sind ist schon etwas schwieriger. Hierzu benötigen Sie einen .NET Script Heater und folgendes Skript. Im Anhang finden Sie ein Beispiel dazu.
bool bFirst = true;

public object DoWork()
{
  string filename = "nicht-in-csv-vorhanden.csv";  // Es gehen auch komplette Pfadangaben  

  if (InValues.Length < 2)
    throw new Exception("min. zwei Parameter erwartet!");	

  string sIN = (string)InValues[0].GetString();

  if (sIN == "NOT FOUND")
  {
    string sLine = String.Empty;

    // CSV Zeile aufbauen, es werden alle Eingangsparameter, außer dem ersten in die Datei geschrieben
    for(int i = 1; i < InValues.Length; i++)
    {
      if (sLine.Length != 0)
        sLine += ";"; // CSV Trennzeichen

      sLine += (string)InValues[i].GetString();
    }

    sLine += Environment.NewLine;

    if (bFirst && File.Exists(filename))
      File.Delete(filename);    
    
    File.AppendAllText(filename, sLine);
    
    bFirst = false;

    // aktuellen Satz filtern, da nicht in der CSV Datei vorhanden!
    return true; 
  }

  // aktuellen Satz nicht filtern
  return false;	
}


Das Skript prüft den Ausgang des CSV Listen Lookup vom Replace Heater und schreibt, falls der Wert nicht aufgelöst werden konnte dies in eine Separate CSV Datei „nicht-in-csv-vorhanden.csv“. Der betroffen Datensatz wird dann noch mittels des Filter Heater gefiltert.


Dateianhang:

Dateiname: csv-listen-lookup.zip
Dateigröße:2 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.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.076 Sekunden