CSV nach CSV durchsuchen und speichern
Hallo Leute ich fuchtel wieder an einem CSV Problem.
Ich habe eine CSV mit Werten die ich nach einer anderen CSV durchsuchen will und immer wenn der Wert aus der search.csv vorkommt in einer neuen Datei gespeichert haben will.
Alles was ich hinbekommen ist aber die CSV (anfang.csv) zu durchsuchen und wennn der Wert vorkommt diesen auszulassen.
4056204302446 steht testweise für die Werte nach denen gesucht werden soll (search.csv)
Aufbau der Anfang.csv
1;201620;21002;0001;OSFA;4056204301432;in_stock;;2029;1;0;Y;N
1;201620;21002;0002;OSFA;4056204301418;in_stock;;1513;1;0;Y;N
1;201620;21002;0003;OSFA;4056204301425;in_stock;;2489;1;0;Y;N
1;201620;21002;0006;OSFA;4056204301388;in_stock;;1543;1;0;Y;N
1;201620;21003;0002;OSFA;4056204301265;in_stock;;0;1;0;Y;N
1;201620;21003;0003;OSFA;4056204301289;in_stock;;0;1;0;Y;N
1;201620;21006;0001;OSFA;4056204302446;in_stock;;129;1;0;Y;N
1;201620;21007;0001;OSFA;4056204302255;in_stock;;8;1;0;Y;N
1;201620;21007;0002;OSFA;4056204302248;in_stock;;492;1;0;Y;N
1;201620;21017;0003;OSFA;4056204300695;in_stock;;0;1;0;Y;N
1;201620;21018;0001;OSFA;4056204301319;in_stock;;1073;1;0;Y;N
1;201620;21018;0003;OSFA;4056204301302;in_stock;;426;1;0;Y;N
1;201620;21019;0001;ADULT;4056204301593;in_stock;;0;1;0;Y;N
1;201620;21019;0002;ADULT;4056204301579;in_stock;;0;1;0;Y;N
1;201620;21019;0003;ADULT;4056205785217;in_stock;;25;1;0;Y;N
1;201620;21020;0001;ADULT;4056204301869;in_stock;;0;1;0;Y;N
Aufbau der search.csv
4056204302446
Ich habe eine CSV mit Werten die ich nach einer anderen CSV durchsuchen will und immer wenn der Wert aus der search.csv vorkommt in einer neuen Datei gespeichert haben will.
Alles was ich hinbekommen ist aber die CSV (anfang.csv) zu durchsuchen und wennn der Wert vorkommt diesen auszulassen.
set "quellordner=K:\CSV"
set "zielordner=K:\CSV\ende"
pushd "%quellordner%"
for /f "delims=" %%i in ('dir /b /a-d anfang.csv') do findstr /v "4056204302446" "%%i">"%zielordner%\%%i"
popd
4056204302446 steht testweise für die Werte nach denen gesucht werden soll (search.csv)
Aufbau der Anfang.csv
1;201620;21002;0001;OSFA;4056204301432;in_stock;;2029;1;0;Y;N
1;201620;21002;0002;OSFA;4056204301418;in_stock;;1513;1;0;Y;N
1;201620;21002;0003;OSFA;4056204301425;in_stock;;2489;1;0;Y;N
1;201620;21002;0006;OSFA;4056204301388;in_stock;;1543;1;0;Y;N
1;201620;21003;0002;OSFA;4056204301265;in_stock;;0;1;0;Y;N
1;201620;21003;0003;OSFA;4056204301289;in_stock;;0;1;0;Y;N
1;201620;21006;0001;OSFA;4056204302446;in_stock;;129;1;0;Y;N
1;201620;21007;0001;OSFA;4056204302255;in_stock;;8;1;0;Y;N
1;201620;21007;0002;OSFA;4056204302248;in_stock;;492;1;0;Y;N
1;201620;21017;0003;OSFA;4056204300695;in_stock;;0;1;0;Y;N
1;201620;21018;0001;OSFA;4056204301319;in_stock;;1073;1;0;Y;N
1;201620;21018;0003;OSFA;4056204301302;in_stock;;426;1;0;Y;N
1;201620;21019;0001;ADULT;4056204301593;in_stock;;0;1;0;Y;N
1;201620;21019;0002;ADULT;4056204301579;in_stock;;0;1;0;Y;N
1;201620;21019;0003;ADULT;4056205785217;in_stock;;25;1;0;Y;N
1;201620;21020;0001;ADULT;4056204301869;in_stock;;0;1;0;Y;N
Aufbau der search.csv
4056204302446
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 318062
Url: https://administrator.de/contentid/318062
Ausgedruckt am: 26.11.2024 um 04:11 Uhr
6 Kommentare
Neuester Kommentar
Gibt's hier schon Unmengen an Beiträgen die selbst ich als Neuling in diesem Forum finde ...
Hier scheint echt niemand die Suche zu benutzen.
2 CSV Dateien per Powershell vergleichen
R.
Hier scheint echt niemand die Suche zu benutzen.
set "quellordner=K:\CSV"
set "zielordner=K:\CSV\ende"
pushd "%quellordner%"
findstr /ig:"search.txt" "anfang.csv" >"%Zielordner%\ergebnis.txt"
R.
Zitat von @jocheng:
Die anfang.csv ist 44000 Zeilen groß und die search.csv gut 30.000. Gibt es da irgendwelche maximalwerte???
Da wird die max Batch Zeilenlänge eine Rolle spielen.Die anfang.csv ist 44000 Zeilen groß und die search.csv gut 30.000. Gibt es da irgendwelche maximalwerte???
Nimm Powershell, das hat damit kein Problem. Batch ist sowieso langsam aber sicher etwas für den Dachboden.
$search = gc "K:\CSV\search.csv" -join '|'
$csv = gc "K:\CSV\Anfang.csv"
$csv | ?{$_ -match $search} | set-content "K:\CSV\Ende\ergebnis.csv"
Kleine Korrektur.