redlinecomputers

Habe ein Problem mit meiner CSV Datenbank

Hallo zusammen.

Ich Arbeite jetzt schon einige Tage an der Erstellung eines XT Commerce Shops.

Jetzt bin ich leider an einem Punkt angelangt an dem ich nicht weiter weis. Ich beschreibe einfach mal kurz die ganze Situation:


Ich erhalte täglich von meinem Lieferanten eine TXT Datei, die sich zwar einwandfrei ins CSV-Format konvertieren lässt, aber weder mit JTL-WAWI noch mit XT Commerce zusammen passt.


Habe also noch diverse Tabellen erstellt die sich Ihre Daten aus Lieferantenliste und Formeln selbst zusammen rechnen. Diese sind je nach dem für JTL oder XT zurechtgelegt.


Das Problem ist zum Beispiel das meine Stundenlang geschriebenen Artikelbeschreibungen jedesmal überschrieben werden.

Gibt es eine Möglichkeit 2 CSV Datein zu Vergleichen und Änderungen zu übernehmen?

Also sprich nichtmehr vorhandene Datensätze zu entfernen, Preise zu aktualisieren, Neue Datensätze anhängen?


Hatte da einen schönen Ansatz gefunden der aber leider nicht ganz funktionierte, da er bereits vorhandene Datensätze nicht aktualisierte sondern übersprang und nur neue Datensätze anhängte :


@echo off & setlocal
set "Ordner=e:\test"
set "Sammel=e:\test\test.csv"

pushd "%Ordner%"
if exist "%Sammel%" del "%Sammel%"
for %%i in (*.csv) do if not exist "%Sammel%" for /f "usebackq delims=" %%z in ("%%i") do if not exist "%Sammel%" echo %%z>"%Sammel%"
for %%i in (*.csv) do more +1 "%%i">>"%Sammel%"
popd


Ich danke schonmal jetzt allen die sich Zeit nehmen und sich den Kopf zerbrechen.


Chris
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 85592

Url: https://administrator.de/forum/habe-ein-problem-mit-meiner-csv-datenbank-85592.html

Ausgedruckt am: 21.05.2025 um 09:05 Uhr

Biber
Biber 15.04.2008 um 18:52:39 Uhr
Goto Top
Moin redwinecomputers,

da er bereits vorhandene Datensätze nicht aktualisierte ...
na ja, an was (bzw an welchem/welchen Token in der CSV-Zeile machst Du das denn fest?
  • Ist immer und in jeder CSV-Datei die ArtikelNr (oder welche ID auch immer) an der ersten Stelle?
  • Oder gibt es mehrere Felder, die einen "Datensatz" eindeutig machen?
  • Oder hat jeder "Datensatz" ein Datumsfeld, aus dem ich den letzten und damit wahrsten Stand ersehen kann?
  • was ist mit (logisch) gelöschten Sätzen - in der vorhandenen älteren CSV-Datei da, nicht in der neu gelieferten?

Bitte mal ein, zwei Beispielzeilen Deines CSV-Formats posten.

Grüße
Biber
redlinecomputers
redlinecomputers 15.04.2008 um 19:15:25 Uhr
Goto Top
Hallo,


entschuldigung das ich nicht so ausführlich beschrieben habe...aber der Bereich ist für mich absolutes neuland.

Die CSV ist so aufgebaut:

ARTNR;BARCODE;BEZEICHNUNG;KURZBESCH;BESCHREIBUNG;VKBRUTTO;MWST;UVP;EINHEIT;GEWICHT;VKHBRUTTO;EKNETTO;LIEFNR;MINDESTAB;LAGERBEST;ANMERKUNG;
PREISLISTE;TOPART;NEU;AKTIV;ATT1N;ATT1T;ATT1V;ATT1INET;BILD;LAGERAKTIV;KLEINERNULL;TEILBAR;HERSTELLER;ANZAHL-P1;PREIS-P1;ANZAHL-P2;PREIS-P2;ANZAHL-P3;
PREIS-P3;ANZAHL-P4;PREIS-P4;ANZAHL-P5;PREIS-P5;ANZAHL-H1;PREIS-H1;ANZAHL-H2;PREIS-H2;ANZAHL-H3;PREIS-H3;ANZAHL-H4;PREIS-H4;ANZAHL-H5;PREIS-H5;EBAYPREIS;
KATEGORIE


100039;;Notebook Tasche. Lunar. Value No20311;;;10.98;19%;;;;;7.90;;;878;;;;;1;;;;;;;;;Lunar;;;;;;;;;;;;;;;;;;;;;;Notebook Taschen
100117;;"HD Geh. USB 2.0 für 3.5"" HDDs - OEM";;;22.94;19%;;;;;16.50;;;47;;;;;1;;;;;;;;;Sonstiges/OEM;;;;;;;;;;;;;;;;;;;;;;externe Festplattengehäuse


Ich hoffe das hilft weiter


Chris
filippg
filippg 15.04.2008 um 20:02:56 Uhr
Goto Top
Hallo,

wie hat denn der "XT Commerce Shop" seine Daten gespeichert? Doch hoffentlich in einer vernünftigen DB (ich dachte da an MS SQL oder MySQL)? Dann solltest du die Daten des Lieferanten in eine separate Tabelle in der gleichen DB einspielen und dann nur die Felder, die auch überschreiben willst in die entsprechende Shop-Tabelle übertragen.
Nutzt der Shop keine DB oder du kannst nicht ordentlich darauf zugreifen: Dann kannst du immer noch bei dir lokal MSSQL Express oder Access für ebendiese aufgabe verwenden. Sprich: du hälst alle Daten (inkl Beschreibung) bei dir lokal vor, wenn du ein Update vom Lieferant bekommst mischst du das da rein und spielst anschließend alles auf den Server (dabei werden zwar die Daten dort u.U. alle überschrieben, aber du hast ja die aktuellsten Daten bei dir daheim).
Wie das jetzt im einzelnen geht ist abhänigig von technischen Gegenbenheiten und Fertigkeiten.

Gruß

Filipp