Datenverarbeitung für eine Shopware 6 Migration mit dem ChatGPT Code Interpreter

Die Migration zu Shopware 6 stellt uns oft vor komplexe Herausforderungen. Bei einem Kunden hatte ich die Aufgabe, Informationen aus einem Freitextfeld von Shopware 5 in drei verschiedene Zusatzfelder von Shopware 6 zu importieren.

Der Hintergrund: Mein Kunde verkauft Tee online und bietet auf den Artikelseiten auch Hinweise zur Zubereitung an. Diese Informationen sind für die Kunden sehr hilfreich und werden häufig genutzt, weshalb diese Informationen bei der Migration auf Shopware 6 nicht verschwinden durften.

Eine solche Migration bietet auch die Möglichkeit, alte, zu komplexe Strukturen zu vereinfachen. Alles, was am Ende Zeit und damit Nerven spart, setze ich in Absprache mit meinen Kunden um. So auch hier.

In Shopware 5 war dieses Feld ein Freitextfeld als Textbereich, in dem die immer gleichen Angaben stehen sollten:

  • Ziehzeit
  • Zubereitung
  • Wassertemperatur
bildschirmfoto 2023 10 02 um 13.09.35

Diese Informationen sind in einer Tabelle untergebracht, die für jeden Artikel angepasst werden muss. Die tabellarische Aufbereitung erschien mir jedoch schwieriger als nötig, zumal auch die Bilder jedes Mal neu kopiert werden mussten.

Deshalb habe ich mit meinem Kunden beschlossen, den Prozess zu vereinfachen und drei neue Zusatzfelder in Shopware 6 anzulegen. Dort muss dann nicht mehr mühsam kopiert werden, sondern die Informationen können einfach an den entsprechenden Stellen eingetragen werden.

Die Anforderung war also geboren: Teilinhalte aus der Tabelle herauszulösen und später per Import mit einer CSV-Datei an die richtigen Stellen in die neuen Zusatzfelder einzufügen.

Für eine manuelle Arbeit wäre das bei knapp 2.000 Produkten zu viel und zu aufwändig.

Hier kam ChatGPT mit Code Interpreter ins Spiel, der sich als sehr nützliches Werkzeug erwies.

ChatGPT mit Code Interpreter: Die Grundanforderung für die Shopware 6-Migration

Ich hatte bereits im Vorfeld erste Erfahrungen mit dem Code-Interpreter von ChatGPT gesammelt, so dass ich in groben Zügen wusste, welche Informationen ChatGPT von mir benötigt.

Mit diesem Prompt begann die Arbeit:

Ich lade dir hier eine CSV Datei hoch.

In der ersten Spalte findest du den HTML Code für eine Tabelle.
Dort finden sich drei Einheiten.

Die erste Einheit ist z.B. wie folgt:

2-3 Minuten

Ich möchte, dass du den Inhalt des zweiten -Abschnitts in Spalte D überträgst. Aus dem Beispiel eben 2-3 Minuten.

Die Inhalte aus der zweiten Einheit sollen in Spalte C eingetragen werden. Der Inhalt aus der dritten Einheit soll in Spalte B eingetragen werden.

Stelle mir anschließend die überarbeitete CSV zum Download bereit.

Sofort begann ChatGPT mit der Verarbeitung. Das erste Ergebnis war aber eher ernüchternd.

Es bedurfte einiger Iterationen und Präzisierungen meinerseits, um die Daten so zu extrahieren, wie ich sie brauchte.

ChatGPT mit Code Interpreter: Hindernisse und falsche Ergebnisse

Ich dachte, ich hätte genau ausgedrückt, was ich wollte. Aber ChatGPT hat das missverstanden.

Anstatt die entsprechenden Inhalte in die Spalten B, C und D der CSV-Datei zu schreiben, hat ChatGPT diese an das Ende der Tabelle gesetzt und die Tabellenköpfe mit B, C und D benannt.

Das wäre in Ordnung gewesen, aber leider gab es keine Ergebnisse in den Spalten. Das System verstand also nicht, was ich von ihm wollte.

Ich schrieb meinen Prompt ein wenig um, aber das Ergebnis war wieder genau das gleiche. Also musste ein neuer Prompt her.

Nach einigem Überlegen entschied ich mich, eine komplette Tabellenzelle zu kopieren und ChatGPT genau mitzuteilen, welche Informationen ich erwartete.

Hier der überarbeitete Prompt:

Nein, das war es leider wieder nicht.

Nochmal neu. Hier ein HTML-Code als Beispiel:

<figure class="wp-block-table"><table><tbody><tr><td><img src="/media/image/uhr.png" alt="Tee Zubereitungszeit" width="43" height="51"></td><td>2-3 Minuten</td></tr><tr><td><img src="/media/image/waage.png" alt="Menge des Tees" width="38" height="51"></td><td>1 Teelöffel gehäuft / Tasse&nbsp;</td></tr><tr><td><img src="/media/image/thermo.png" alt="Wassertemperatur zur Teezubereitung" width="38" height="51"></td><td>Wassertemp. 100 Grad</td></tr></tbody></table></figure>

Es gibt hier drei verschiedene tr-Tabellenzeilen. Aus diesen möchte ich die Inhalte des jeweils zweiten td extrahieren.

Erstelle mir eine neue CSV-Datei mit drei Spalten:
preperation_time: hier kommen die Infos aus dem ersten tr-Abschnitt hinein.
preperation_quantity: hier sollen die Infos aus dem zweiten tr-Abschnitt eingetragen werden.
preperation_temperature: hier sollen die Infos aus dem dritten tr-Abschnitt eingetragen werden.

Die zugrunde liegende CSV-Datei habe ich dir nochmal angehangen.

Mit diesem Prompt habe ich anschließend eine CSV-Datei, die genau die Informationen extrahierte, die ich benötigte.

Ich überprüfte das Ergebnis stichprobenartig an 4-5 Artikeln und war nun zufrieden. Das System hatte nach einigen Iterationen gute Arbeit geleistet.

Das Endergebnis

Nach einigem Hin und Her, einigen Anpassungen und klar definierten Anforderungen hatte ich endlich das gewünschte Ergebnis. Die Daten waren exakt extrahiert und in den gewünschten Spalten abgelegt, bereit für die Migration nach Shopware 6.

Nun konnte ich diese Daten in die CSV-Datei eintragen, die später in Shopware 6 importiert werden sollte. Dazu habe ich im Vorfeld ein entsprechendes Import-/Exportprofil erstellt.

Nach einer kurzen Wartezeit wurde die Datei importiert. Meine Überprüfung ergab auch hier keine Fehler mehr.

bildschirmfoto 2023 10 02 um 13.14.50

Somit war diese recht komplexe Aufgabe in weniger als 30 Minuten erledigt und die Migration auf Shopware 6 für meinen Kunden einen großen Schritt näher gerückt.

Fazit

Die Migration zu Shopware 6 kann aufgrund unterschiedlicher Datenstrukturen und -formate zu erheblichen Herausforderungen führen, bietet aber auch die Möglichkeit, bestehende Prozesse und Strukturen zu optimieren und zu vereinfachen.

Im vorliegenden Fall konnten durch den Einsatz des ChatGPT Code Interpreters spezifische Produktinformationen effizient aus Shopware 5 extrahiert und für den Import in Shopware 6 aufbereitet werden. Dadurch konnte nicht nur die Datenintegrität sichergestellt, sondern auch Zeit und Aufwand gespart werden.

Die Möglichkeit, alte und möglicherweise zu komplexe Strukturen zu überdenken und zu vereinfachen, ist ein zentraler Vorteil solcher Migrationsprojekte und trägt dazu bei, dass Unternehmen ihre Ressourcen effizienter nutzen können.

Der erfolgreiche Abschluss dieses Arbeitspakets bringt die vollständige Migration auf Shopware 6 einen großen Schritt näher und demonstriert die Effektivität von automatisierten Datenverarbeitungslösungen wie dem ChatGPT Code Interpreter bei der Bewältigung von Herausforderungen im Bereich der Datenmigration.

Hinweis:

Einige Teile des Artikels (sowie das vollständige Fazit) wurden mit ChatGPT erstellt und mit DeepL Write sprachlich überarbeitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert