FlowHeater Demo Video
 
FlowHeater - The Data Import / Export Specialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Extract aus zwei Dateien anhand eines gem. Wertes

Extract aus zwei Dateien anhand eines gem. Wertes 4 Jahre 11 Monate her #1633

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...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Extract aus zwei Dateien anhand eines gem. Wertes 4 Jahre 11 Monate her #1634

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1363
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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.
  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en