Layout von CSV Dateien per batch editieren

Onkelpappe

Commander
Registriert
Apr. 2003
Beiträge
2.309
Guten morgen Community,

ich stehe gerade vor dem Problem, dass ich unterschiedliche CSV Dateien habe, die im Idealfall automatisiert angeglichen werden sollen. Dabei geht es um Artikelstämme.

Als Beispiel:

CSV A: EAN;Name;Preis;LinkzumHersteller;AufLager
CSV B: Name;AufLager;Preis;EAN
CSV C: AufLAger;EAN;Name

Da ich nur EAN Preis und AufLager brauche soll der Rest entfernt werden, und die 3 benötigten Werte sollen in die gleiche Reihenfolge gebracht werden, damit sie danach eingelesen werden können. Bis jetzt macht das ein Mitarbeiter händisch, und das würde ich gerne ändern.

Evtl kennt sich ja jemand mit dem Thema besser aus. Die Dateien heissen jeden Tag gleich und werden atm schon automatisch auf den Server geladen.

Danke schon mal im Vorraus.
 
Wenn du das automatisieren willst, musst du dir erstmal Gedanken machen, wie du Widersprüche und fehlende Daten behandeln willst.
Beispielsweise ist die EAN eindeutig für jedes Produkt. Aber es könnten in in den CSV Dateien zur gleichen EAN unterschiedliche Namen und Preise vorhanden sein. Oder wie in Beispiel C der Preis fehlen.
Wie genau sehen die CSV-Dateien aus ? Sind da nur Daten vorhanden. Oder gibt es da noch einen Header, der die einzelnen Felder/Spalten beschreibt ?
Welche Hilfsmittel wie z.b. Tabellenkalkulation oder Programmiersprache stehen dir zur Verfügung ?
 
Ich denke, diese Aufgabe ist mit Excel ideal, mit Word ebenfalls und mit einem RegEx fähigen Editor zur Not machbar. Also richtig, erst die Waffen wählen, dann die Strategie planen.
 
Office ist mit allen seinen Möglichkeiten vorhanden. Sollte es für mein Vorhaben eine bessere Software geben wäre es aber auch kein Problem sie zu kaufen
 
Du kannst csv-Dateien in Excel einlesen, beliebig manipulieren und wieder als csv schreiben. Sollte einfach sein.
Hinsichtlich der "Automatisierung" müsstest du beschreiben, was da konkret automatisiert werden soll.
 
Im Idealfall so, dass ich eine batch oder ähnliches starte und am Ende meine gewünschte Datei rauskommt die die Daten aller ursprungsdateien enthält. Ich würde das gerne dann so haben, dass morgens die aktuellen Listen geladen werden (das passiert schon) und dann daraus eine Datei zusammengefügt wird. Am einfachsten wäre es vermutlich dann per Marco?!? Nur kann ich excelmacros ausführen ohne vorher Excel zu starten?

Ach ja, die Dateien haben header
 
Du könntest Excel mit einer Datei, die ein Autostartmakro enthält, starten.
Das Makro müsste nacheinander die gewünschten csvs öffnen, die Spalten sortieren/löschen und wieder abspeichern.
Das kannst du ja manuell vorher testen, dann hilft hier auch der Makrorekorder z. B. bei der Umwandlung einer Dateiliste in bearbeitbare Excel-Dateien. Aber ein bisschen VBA-Kenntnisse solltest du schon haben. Letztlich solltest du für die Automatisierung das Tool nehmen, mit dem du am vertrautesten bist. Eleganter wäre, wenn du irgendeine Programmiersprache kennen würdest und mit diese direkt die csv-Dateien manipulieren könntest.

Ohne Programmierkenntnisse sehe ich keine Möglichkeit, das ganze zu automatisieren.
 
Studium ist ne ganze weile her, ich werde es erstmal mit Excel machen, und wenn das ganze umfangreicher werden sollte (atm nur 5 Listen maximal einmal am tag) muss ich mal wieder Coden üben oder wir bezahlen jemanden dafür.
 
Zurück
Oben