Filtern von CSV-Daten

Hallo an Alle,

für ein aktuelles Projekt bin ich auf der Suche nach einer Möglichkeit, über Metafacture ( Home | Metafacture Documentation ) die Einträge einer CSV-Datei zu filtern. Konkret geht es darum, einzelne Einträge über eine individuelle Kennziffer (PPN) zu identifizieren und alle Einträge, deren Kennziffer nicht auf diese Weise identifiziert wurde, aus der Datei zu entfernen. Die einzelnen Kennziffern (1.000x) liegen als externe Datei vor, wo sie als einzelne Einträge pro Zeile gelistet sind.

Hat eine*r von euch schonmal Erfahrungen mit einem vergleichbaren Workflow gemacht?

Konkret habe ich ein Beispiel für meine Ausgangsdaten und meine bisherige Idee eines Workflows im verlinkten Metafacture-Playground-Workflow eingetragen.

2 Likes

Herzlich willkommen im metadaten.community-Forum, Ruben, und danke für die Frage! Es wäre wahrscheinlich hilfreich, wenn du einmal ein paar Zeilen der CSV-Datei hier reinpostest als Code-Bock. Alternativ kannst du auch einen Link auf einen Metafacture-Playground-Workflow mit den entsprechenden Input-Daten posten.

P.S.: Ich war so frei und habe das Thema in die Software & Tools > Metafacture -Kategorie verschoben.

1 Like

Du könntest entweder in einer extra fix oder in deiner bereits vorher genutzten fix einen lookup einbauen, fehlende Treffer löschen und dann den Datensatz löschen, falls das gewünsche Feld nicht existiert:

So von der Idee.

Um eine externe Datei zu nutzen brauchst du aber put_filemap

Wenn die Datei nur eine „Spalte“ hat setzt du die Optionen: key_column:"0", value_column:"0", expected_columns:"-1"

Je nachdem wie groß dein Prozess ist, würde ich auch noch das erstellen der filemap in ein `do once` Bind packen, das spart Speicher Kapazitäten und ist performanter, wie hier: metafacture_workflows/getHbzIdFromLobid/enrich.fix at de793b8d69ed2d3ffa6a70f54c48a3a820c4d850 · TobiasNx/metafacture_workflows · GitHub

1 Like