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.716
1.770
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
831
261
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
119
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
119
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
3.101
684
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 [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
Neu DHL Label drucken - kommt nur eine Adresse raus aber kein Label User helfen Usern - Fragen zu JTL-Wawi 3
Neu ++ eazyauction kein Abgleich mehr möglich 12.11.24 ++ eBay-Anbindung - Fehler und Bugs 5
Versanddaten Fedex Kaufland AT kein Abgleich kaufland.de - Anbindung (SCX) 1
Die Lizenzdaten sind ungültig... kein Connector Abgleich Shopware-Connector 17
Neu Nach update auf 5.4 kein Login mehr möglich JTL-Shop - Fehler und Bugs 2
Neu SQL Server kein Mandant auswählbar und Dienst lässt sich nicht starten Installation von JTL-Wawi 2
Neu Gehosteter Shop nicht mehr aufrufbar und auch kein admin-Login mehr möglich JTL-Shop - Fehler und Bugs 3
Neu kein Produkte trotz Upload in WooCommerce WooCommerce-Connector 1
Lagerartikel mit Variation, von denen manche kein Lager brauchen JTL-Wawi 1.9 1
Neu Warenpost national kein Druck JTL-ShippingLabels - Fehler und Bugs 4
Neu Kein Abgleich möglich: Serverproblem ??? Gelöste Themen in diesem Bereich 6
Neu Für den Shop-Connector konnte kein Steuersatz zugeordnet werden. WooCommerce-Connector 2
eBay Abgleich Artikel beendet, Logbuch kein Eintrag JTL-Wawi 1.9 1
Neu Amazon Rechungskorrekturen / Storno: Neu ausstellen / Es existiert kein Auftrag zur Rechnung Einrichtung und Installation von JTL-eazyAuction 8
Datenschutz mit Kunden die kein Konto hinterlegt haben JTL-Wawi 1.9 0

Ähnliche Themen