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: CSV Daten vergleichen und einmischen

CSV Daten vergleichen und einmischen 5 Jahre 6 Monate her #404

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Stark,

Ich habe nicht ganz verstanden wie ich zwei Tabellen (CSV) vergleichen und ergänzen kann.

Mein Ziel ist es auf der Write Seite die Spalte picturefile mit der aus der Read Seite zu ergänzen wenn die Artikel Nr. bei beiden übereinstimmt.

Weiter wäre es wünschenswert die Artikelnummer auf die ersten z.B. 6 Zeichen zu vergleichen da auf der Read Seite die Artikelnummern kürzer sind um global für mehrere Artikel zu gelten.

Beispiel CSV der Bilddaten
product_number;product_Picture
1234567890;1234567890.jpg
abcdefghij;abcdefghij.jpg
...

Beispiel CSV der Produktdaten
partnr;erpnr;picturefile;;artikel_nr
123;456;;12345678;
abc;def;;abcdefgh;
...

Diesen vergleich muss ich dann mit weiteren Tabellen durchführen um die anderen Spalten zu füllen.

Wenn Sie mir eine Hilfestellung zu meinem Problem geben könnten wäre ich Ihnen sehr Dankbar.



Mit freundlichen Grüßen
Felix Höning
Anfrage per Email erhalten
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.

Aw: CSV Daten vergleichen und einmischen 5 Jahre 6 Monate her #405

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1101
Hallo Herr Höning,

Sie müssen sich dazu eine Definition anlegen die auf der READ Seite Ihre CSV Datei einliest in der Sie die Bildinformation einmischen möchten. Auf der WRITE schreiben Sie eine neue CSV Datei die die gleichen Feldinformationen enthält.

Achtung: Sie müssen einen anderen Dateinamen wie auf der READ Seite verwenden!

Über folgenden kleinen Skript für den .NET Script Heater können Sie nun die Bildinformation in das CSV Feld picturefile einmischen.
string [] csv = null;

public object DoWork()
{
  string sRet = null;

  // CSV Picture Datei nur einmal einlesen
  if (csv == null)
    csv = File.ReadAllLines("picture.csv");

  string sFind = (String)InValues[0].GetString();
  if (sFind == null)
    return null;

  string cmp1 = sFind.ToLower().Substring(0, 8); // es werden nur die ersten 8 Zeichen verglichen!
  string cmp2 = String.Empty;

  // Über alle Zeilen der picture.csv Datei lesen
  foreach(string line in csv)
  {
    char [] trennzeichen = { ';' }; //
    string [] values = line.Split(trennzeichen);
    
    // die ersten 8 Zeichen des 1. Wertes der CSV Datei holen
    cmp2 = values[0].ToLower().Substring(0, 8); // es werden nur die ersten 8 Zeichen verglichen!

    // Werte vergleichen, jeweils nur die ersten 8 Zeichen
    // Es findet keine Unterscheidung zwischen Groß/Kleinschreibung statt
    if (cmp1 == cmp2)
    {      
      // Wenn gefunden dann 2. Wert der CSV Datei zurückgegeben
      sRet = values[1];
      break;
    }
  }

  return sRet;
}

Das Skript liest dazu die zweite CSV Datei (picture.csv) einmalig ein und vergleicht pro Zeile die ersten 8 Zeichen der Artikelnummer. Wird eine Übereinstimmung gefunden wird der Name der Bilddatei zurückgegeben.

Im Anhang finden Sie ein kleines Beispiel.

PS: Diese Funktionalität wird demnächst in den String Replace Heater integriert!

Anhang csv_replace.zip nicht gefunden

Anhang:
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