Daten aus einer csv datei geordnet ausgeben
Daten aus einer csv datei geordnet ausgeben
Hallo Leute,
Ich habe eine Batch Datei, welche eine bestimmte zeile aus einer .csv datei ausgeben soll.
Meine Frage ist nun, wie kann ich eine geordnete ausgabe daraus machen?
Hier die Zeilenstruktur aus der .csv
Nr.;Kategorie;Bezeichnung;Hersteller;Lager-Ort;Menge
1;Protokoll;testbezeichner;IT;Lager;4Stueck
und so sollte es auf dem bildschirm ausgegeben werden
Nr. : 1
Kategorie : Protokoll
Bezeichnung : testbezeichner
Hersteller : IT
Lager-Ort : Lager
Menge : 4Stueck
Hoffe ihr könnt mir helfen
Hallo Leute,
Ich habe eine Batch Datei, welche eine bestimmte zeile aus einer .csv datei ausgeben soll.
Meine Frage ist nun, wie kann ich eine geordnete ausgabe daraus machen?
Hier die Zeilenstruktur aus der .csv
Nr.;Kategorie;Bezeichnung;Hersteller;Lager-Ort;Menge
1;Protokoll;testbezeichner;IT;Lager;4Stueck
und so sollte es auf dem bildschirm ausgegeben werden
Nr. : 1
Kategorie : Protokoll
Bezeichnung : testbezeichner
Hersteller : IT
Lager-Ort : Lager
Menge : 4Stueck
Hoffe ihr könnt mir helfen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 178369
Url: https://administrator.de/forum/daten-aus-einer-csv-datei-geordnet-ausgeben-178369.html
Ausgedruckt am: 17.06.2025 um 18:06 Uhr
3 Kommentare
Neuester Kommentar
Hallo FlowBerlin und willkommen im Forum!
Du solltest erklären, wodurch die "eine bestimmte zeile aus einer .csv datei" bestimmt wird ...
... soferne es die Nr sein sollte, könnte ein Batch etwa so aussehen:
Hinweis: Bei diesem Ansatz darf In den Daten kein "!" oder zB Leerzeichen vorkommen ...
Grüße
bastla
Du solltest erklären, wodurch die "eine bestimmte zeile aus einer .csv datei" bestimmt wird ...
... soferne es die Nr sein sollte, könnte ein Batch etwa so aussehen:
@echo off & setlocal enabledelayedexpansion
set "CSV=D:\Daten.csv"
set "Nr=1"
set /a Feld=1
set /p Felder=<"%CSV%"
for %%i in (%Felder%) do (
set "Feldname!Feld!=%%i"
set /a Feld+=1
)
set /a Feld=1
for /f "delims=" %%a in ('findstr /b "%Nr%;" "%CSV%"') do (
for %%i in (%%a) do (
call echo %%Feldname!Feld!%%: %%i
set /a Feld+=1
)
)
Grüße
bastla
Hallo FlowBerlin!
Das Einlesen selbst erfolgt per "Eingabeumleitung" - mit
kann so die erste Zeile (und nur diese) einer Textdatei in eine Variable übernommen werden.
Grüße
bastla
Mir ist noch unklar bei deiner Lösung, wie ich die " Nr.;Kategorie;Bezeichnung;Hersteller;Lager-Ort;Menge " im gegensatz zu den daten einlese.
Entsprechend Deines Musters stehen die Feldnamen in der ersten Zeile der Datei - diese wird in Zeile 6 des Batches in die Variable %Felder% eingelesen und in den folgenden Zeilen 7 bis 10 aufgeteilt und den Variablen %Feldname1% bis %Feldname6% (siehe Zähler %Feld%) zugewiesen.Das Einlesen selbst erfolgt per "Eingabeumleitung" - mit
set /p Felder=<Datei
Grüße
bastla