Neu Kein Semikolon am Ende der Zeile

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
Wenn ich mit der Ameise eine csv-Datei erstelle, befindet sich am Ende jeder Zeile ein Semikolon.
Gibt es eine Einstellungsmöglichkeit, dass bei der Erstellung der Datei kein Semikolon am Ende ausgegeben wird?

Zwecks späterer Batch-Bearbeitung brauche ich die Datei ohne Semikolon am Ende.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
8.299
1.635
Nein, da gibt es keine Einstellungsmöglichkeit, tut mir leid.
Könntest Du mir bitte beschreiben, warum das notwendig wäre?
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
Ich erzeuge mit einer Batchdatei am Ende dieser csv eine weitere Spalte mit einer Berechnung:

Code:
@echo off
setlocal enabledelayedexpansion
set CsvFile=bestand.csv
set OutFile=bestand-mit-neuer-spalte.csv
if exist "%OutFile%" del "%OutFile%"
for /f "delims=" %%C in ('type "%CsvFile%"') do (
for /f "tokens=1,2,3 delims=;" %%a in ("%%C") do (
set /A Col1=%%a
set /A Col2=%%b
set /A Col2=%%c
echo Processing !Col1!
set /A NewCol=%%b-%%c
>>"%OutFile%" echo %%C;!NewCol!
)
)
echo Done.

Diese Batch-Prozedur funktioniert nur, wenn in der Ausgangs-csv KEIN Semikolon am Zeilenende ist.
 
Zuletzt bearbeitet:

fibergirl

Sehr aktives Mitglied
14. April 2016
829
253
Ein Semikolon am Zeilenende ist auf jeden Fall kein CSV-Standard.
Da könnten schon Tools drüber stolpern.

Aber vielleicht hast Du da am Ende noch ein leeres Feld?
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
Eventuell kann man ja mit einem Batch-Befehl das letzte Zeichen in einer Zeile (Semikolon) löschen, aber da hab ich nichts gefunden.
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
Inhalt der "bestand.csv", alle Semikolon am Ende bereits gelöscht:

Code:
Name;AufLager;bestellt
Name1;20;8
Name2;22;9
Name3;24;10
Name4;26;11
Name5;28;12
Name6;30;13
Name7;32;14
Name8;34;15
Name9;36;16
Name10;38;17

von der Ameise leider mit Semikolon am Schluss jeder Zeile erzeugt.


Fogende Batch wird ausgeführt (bestand.bat):

Code:
@echo off
setlocal enabledelayedexpansion
set CsvFile=bestand.csv
set OutFile=bestand-mit-neuer-spalte.csv
if exist "%OutFile%" del "%OutFile%"
for /f "delims=" %%C in ('type "%CsvFile%"') do (
for /f "tokens=1,2,3 delims=;" %%a in ("%%C") do (
set /A Col1=%%a
set /A Col2=%%b
set /A Col2=%%c
echo Processing !Col1!
set /A NewCol=%%b-%%c
>>"%OutFile%" echo %%C;!NewCol!
)
)
echo Done.


Folgedes Ergebnis in der bestand-mit-neuer-spalte.csv

Code:
Name;AufLager;bestellt;0
Name1;20;8;12
Name2;22;9;13
Name3;24;10;14
Name4;26;11;15
Name5;28;12;16
Name6;30;13;17
Name7;32;14;18
Name8;34;15;19
Name9;36;16;20
Name10;38;17;21

Kennt jemand eine Möglichkeit, das Semikolon am Ende jeder Zeile in der von der Ameise erzeugten csv-Datei zu eliminieren?
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
Für alle die es mal brauchen: mit folgender Batch-Datei kann man alle Semikola am Zeilenende eliminieren:


Code:
@echo off
setlocal enabledelayedexpansion

for %%a in (bestand.csv) do (
    set txtPath=%%~fa
    echo !txtPath!
    for /f %%b in ('type "!txtPath!"') do (
        set line=%%b
        set output=!line!
        if "!line:~-1!"==";" (
            for /l %%i in (1,1,1000) do if "!output:~-1!"==";" set output=!output:~0,-1!
        )
        echo !output!>> bestand-ohne-semikolon.csv
    )
)
 

Uwe Jaksties

Sehr aktives Mitglied
13. Mai 2014
571
117
Hallo,

rein aus Interesse... inwiefern soll das abschließende Semikolon Deine Batchdatei beeinflussen?
Mit der jetzigen Batch solltest Du lediglich eine Leerspalte vor deiner zusätzlichen Ausgabe haben und sogar die sollte wegfallen, wenn Du statt "%%C;!NewCol!" "%%C!NewCol!" eingibst.
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
@Uwe Jaksties
Ja, gerade nochmal ausgetestet, es ist so wie du geschrieben hast.
Mit folgendem Code funktioniert das ganze nun tadellos, ein Entfernen des Semikolons am Zeilenende ist nicht notwendig:

Code:
@echo off
setlocal enabledelayedexpansion
set CsvFile=bestand.csv
set OutFile=bestand-mit-neuer-spalte.csv
if exist "%OutFile%" del "%OutFile%"
for /f "delims=" %%C in ('type "%CsvFile%"') do (
for /f "tokens=1,2,3 delims=;" %%a in ("%%C") do (
set /A Col1=%%a
set /A Col2=%%b
set /A Col2=%%c
echo Processing !Col1!
set /A NewCol=%%b-%%c
>>"%OutFile%" echo %%C!NewCol!
)
)
echo Done.

Danke für den Hinweis!
 

prodana

Gut bekanntes Mitglied
30. Oktober 2008
821
1
@Uwe Jaksties

Funktioniert leider nur in meinem kleinen Beispielfile.
In meiner Originaldatei gibt es noch Schwierigkeiten.
Könntest Du mal nachsehen, was da noch falsch ist?
 

Anhänge

  • Aktualisierung.zip
    1,1 KB · Aufrufe: 3

Uwe Jaksties

Sehr aktives Mitglied
13. Mai 2014
571
117
Das Problem ist, dass nicht mit Fließkommazahlen gerechnet werden kann. Insofern es nur ganzzahlige Bestände geben wird, sollte das aktualisierte Script helfen. Ich habe es noch etwas gekürzt.

Edit: Kurz zur Erklärung... Ich ersetze in Token 7 und 8 den Text ",00" mit nichts. So entstehen Ganzzahlen, mit denen gerechnet werden kann.
 

Anhänge

  • Aktualisierung.zip
    619 Bytes · Aufrufe: 5
  • Gefällt mir
Reaktionen: Jan-Patrick Schmidt

John

Sehr aktives Mitglied
3. März 2012
2.636
507
Berlin
...wer dieses Problem auch hat: Ich kann Euch ein keines Tool anbieten, welches das Trennzeichen entfernt.

Wohlgemerkt: Sauber. Keine schmuztigen Tricksereien, keine Abhängigkeiten und keine maximale Zeilenanzahl.

Die komplette Datei wird als Tabelle intern in das Tool eingelesen und sauber raus geschrieben.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Amazon | Es findet kein Datenabgleich statt. Gelöste Themen in diesem Bereich 3
Neu Amazon Prime - DHL Versandlabel kann nicht gedruckt werden "Ein Prime Versandlabel wurde nicht gekauft, da kein verfügbares gefunden wurde." JTL-ShippingLabels - Fehler und Bugs 0
Neue angelegte Artikel ausverkauft - kein Erscheinen auf Bestellvorschlägen JTL-Wawi 1.6 1
Kein Fehler von 1.6.39 zu 1.8.12 JTL-Wawi 1.8 4
Neu Schweiz: Die Gewichtsangabe ist kleiner als im CN23-Formular > kein Versand möglich JTL-ShippingLabels - Fehler und Bugs 13
Kein Zugriff auf Datenbankverwaltung JTL-Wawi 1.8 1
WMS Mobile App kein Benutzer wählbar JTL-Wawi App 1
Gelöst Zebra T21 Scanner mit Installierten JTL POS 1.0.9.3 beim Bon versuche Ich einfach zu Scannen er sucht aber kein Artikel JTL-POS - Fehler und Bugs 1
Kein Abgleich zum Shop, ich komme nicht in Plattformen/Verkaufskanäle rein JTL-Wawi 1.8 3
Bug? Worker 2.0 - Shop Abgleich "Quicksync" ist kein Quicksync mehr - Paketgröße wird ignoriert JTL-Wawi 1.8 10
Neu Nach Update auf 1.8.11 - teilweise kein "Amazon - Neue Produkteseite erstellen" möglich Amazon-Lister - Fehler und Bugs 1
Neu Kein Update vom Sendungsstatus JTL-Track&Trace - Ideen, Lob und Kritik 1
Sequenz enthält kein übereinstimmendes Element - nach Update von 1.5.55 auf 1.6.48 - Artikel lassen sich nicht mehr öffnen nach Speichern JTL-Wawi 1.6 6
Neu Kein h1-Tag JTL-Shop - Fehler und Bugs 2
Neu Kein Abgleich möglich-PW in den Online Einstellungen falsch WooCommerce-Connector 0
Neu Kein Abgleich mit Shopware 5.7.7 mehr Shopware-Connector 0
Barcodescanner Fehler mit ein "U" am Ende JTL-Wawi 1.8 0
Neu String am Ende kürzen User helfen Usern - Fragen zu JTL-Wawi 3

Ähnliche Themen