Sie sind nicht angemeldet.

1

Dienstag, 24. Juni 2014, 22:55

Hilfe bei speziellem CSV Import mit if Else

Hallo,

Ich stehe vor einem Problem.
Ich habe eine CSV Datei vom Lieferanten wo die Artikelverfügbarkeit mit Ja oder Nein angegeben ist.
Jetzt möchte ich beim Import das Nein in 0 wandeln und das ja in z.b. 4
Wie stelle ich das an? Habe schon die if Anweisung probiert, ohne erfolg.

Freue mich auf Antwort.

Danke

2

Mittwoch, 25. Juni 2014, 00:45

Hallo,
wo wollen Sie Ihre CSV-Datei denn importieren, bzw. die Werte umwandeln?
Ich frage deswegen, weil Sie Ihre Frage im Bereich csv4you.de geschrieben haben.
Importieren könnten Sie Ihre Datei nur in www.csv4you.com.
Dort lässt sich beim Import einer Datei angeben:
IF Wert=nein, schreibe 0 - und
IF Wert=ja schreibe 4 ...
jg

3

Mittwoch, 25. Juni 2014, 07:20

Oh, habe ich das falsche Forum erwischt! Sorry.
Wie genau muss denn Der If Befehl aussehen?
Habe das schon probiert, hat aber nicht geklappt.

Und noch eine weitere Frage. Ich müsste auch noch die MwSt einbinden, die aber in der gelieferten CSV nicht vorhanden ist. Wie bewerkstellige ich dies?

Vielen Dank und Grüße
Sebastian

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Aquaa« (25. Juni 2014, 08:01)


4

Mittwoch, 25. Juni 2014, 10:22

Hallo Sebastian,
Thema ist verschoben, kein Problem.

> Wie genau muss denn Der If Befehl aussehen?
In der Zuweisung der Spalten (Datenpool ->Import...) gibt es die Spalte 'Erweiterte Optionen'. Dort haben Sie seit ein paar Tagen die Möglichkeit, während des Imports auch mit IF-Abfragen zu arbeiten. Setzen Sie Folgendes in die jeweilige Spalte ein, bzw. klicken Sie auf das Zahnrad-Symbol (rechts).
Beispiel:

Quellcode

1
2
3
4
{IF 'NameSpalteVerfuegbar' == 'nein'}0
{ELSEIF 'NameSpalteVerfuegbar' == 'ja'}1
{ELSE}
{ENDIF}
Bedeutet so viel wie:
Wenn 'NameSpalteVerfuegbar' Wert=nein, schreibe 0 -
wenn 'NameSpalteVerfuegbar' Wert=ja, schreibe 1 -
wenn Beides nicht zutrifft schreibe nichts.


Oder:

Quellcode

1
{IF 'NameSpalteVerfuegbar' == 'nein'}0{ELSE}1{ENDIF}
Bedeutet:
Wenn 'NameSpalteVerfuegbar' Wert=nein, schreibe 0 - ansonsten schreibe 1.

Wenn Sie übrigens abfragen möchten ob etwas NICHT als Wert vorhanden ist, verwenden Sie '!='.
Beispiel:

Quellcode

1
{IF 'NameSpalteVerfuegbar' != 'nein'}4{ELSE}0{ENDIF}
Bedeutet:
Wenn 'NameSpalteVerfuegbar' Wert NICHT 'nein', schreibe 4 - ansonsten schreibe 0.

Der Wert 'NameSpalteVerfuegbar' muss natürlich durch den richtigen Spaltennamen aus Ihrer Importdatei ersetzt werden. Wenn möglich bitte keine Umlaute oder Leerzeichen in Spaltennamen von CSV-Dateien verwenden.

> Ich müsste auch noch die MwSt einbinden, die aber in der gelieferten CSV nicht vorhanden ist.
> Wie bewerkstellige ich dies?

Einfach eine '19' in das betreffende Feld in der Spalte 'Erweiterte Optionen schreiben.

Hier noch ein Screenshot (anklicken):


Falls Sie noch Fragen dazu haben, melden Sie sich einfach wieder.
Grüße, jg

5

Mittwoch, 25. Juni 2014, 10:43

Perfekt, klappt. Vielen Dank.

Ja eine Frage hätte ich noch. Wenn ich einen FTP einrichte, wie kann ich dann sagen, das nur eine bestimmte Datei importiert werden soll.
Im FTP Verzeichnis liegen 6 Dateien. Kann ich nicht ändern, da so vom GH vorgegeben.

Danke

6

Mittwoch, 25. Juni 2014, 11:38

Hmm, auf die Schnelle würde ich jetzt mal sagen im Bereich Datenpool ->Cronjobs...
Dort lassen sich konkrete Pfadangaben machen.

7

Mittwoch, 25. Juni 2014, 11:55

Habe das beim normalen Import probiert. Wenn ich dann in das Feld vor der Auswahl von URL/FTP den Datei Namen eingebe kommt ein Fehler.

8

Mittwoch, 25. Juni 2014, 11:59

Groß-/Kleinschreibung als Ursache fällt mir spontan noch ein. Ansonsten prüfen wir das mal...

9

Mittwoch, 25. Juni 2014, 12:15

Funktioniert nicht. Ich habe den Server unter FTP angelegt. Das klappt. Auch bei Import kann ich diesen auswählen. Gebe ich in das Feld davor den Datei Namen ein kommt ein Error

10

Mittwoch, 25. Juni 2014, 12:50

Hinter die Verzeichnisangabe in den FTP-Daten muss ein Schrägstrich. Der hat gefehlt.
Das Skript fügt den jetzt automatisch ein, wenn er fehlt... ;)
Bitte noch einmal testen.