Daten auslesen
Hallo. Ich hab ein Problem mit daten aus textdateien und suche eine Lösung.
Ich hoffe das mir da irgendwer helfen kann.
Danke schonmal im voraus.
Mein Problem sieht folgendermaßen aus:
da ich leider keine Programmierkenntnisse besitze, bitte ich um eure Hilfe.
Ich habe einen Ordner mit zum Beispiel 200 Textdatein (können auch mehr oder weniger sein)
ich brauche ein Tool das aus jeder dieser Textdatein die Daten der kompletten zweiten Zeile (unabhängig was darin steht) kopiert und nacheinander in eine neue Textdatei oder exeltabelle eingefügt.
Die Dateien die in diesem ordener sind alles Textdateien die allerdings unterschiedliche Dateiendungen besitzen können also kein txt sondern zb. "DC" , "FP" , "OT" oder "NC".
Also egal wie die Endung ist aus jeder beliebigen datei in dem ordner die bestimmte zeile kopieren.
Beispiel:
Quelldatei 1:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (abcd)"
Zeile3: irgendwelche daten
...
...
Quelldatei 2:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:4321 (abcd)"
Zeile3: irgendwelche daten
...
...
Quelldatei 3:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (dcba)"
Zeile3: irgendwelche daten
...
...
Zieldatei:
1234 (abcd)
4321 (abcd)
1234 (dcba)
mir wäre zum Beispiel auch eine Art Makro für Excel sehr recht das die Daten kopiert und in eine Excel Tabelle einfügt statt in eine Textdatei, muss aber nicht sein.
wenn es möglich ist wäre es schön wenn man:
- den Ordner in dem sich die Textdatein befinden,
- die zeile (zb.: Zeile2 oder Zeile3 oder.... die kopiert werden soll,
- Namen und Pfad der Zieldatei
wählen könnte.
Ich weiß nicht ob so etwas überhaupt so einfach und ohne größeren Aufwand möglich ist und hoffe das mir da jemand weiterhelfen kann.
Ich bedanke mich schon einmal im Voraus und wünsche allen noch einen schönen Tag.
Mfg Rindercountry
Ich hoffe das mir da irgendwer helfen kann.
Danke schonmal im voraus.
Mein Problem sieht folgendermaßen aus:
da ich leider keine Programmierkenntnisse besitze, bitte ich um eure Hilfe.
Ich habe einen Ordner mit zum Beispiel 200 Textdatein (können auch mehr oder weniger sein)
ich brauche ein Tool das aus jeder dieser Textdatein die Daten der kompletten zweiten Zeile (unabhängig was darin steht) kopiert und nacheinander in eine neue Textdatei oder exeltabelle eingefügt.
Die Dateien die in diesem ordener sind alles Textdateien die allerdings unterschiedliche Dateiendungen besitzen können also kein txt sondern zb. "DC" , "FP" , "OT" oder "NC".
Also egal wie die Endung ist aus jeder beliebigen datei in dem ordner die bestimmte zeile kopieren.
Beispiel:
Quelldatei 1:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (abcd)"
Zeile3: irgendwelche daten
...
...
Quelldatei 2:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:4321 (abcd)"
Zeile3: irgendwelche daten
...
...
Quelldatei 3:
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (dcba)"
Zeile3: irgendwelche daten
...
...
Zieldatei:
1234 (abcd)
4321 (abcd)
1234 (dcba)
mir wäre zum Beispiel auch eine Art Makro für Excel sehr recht das die Daten kopiert und in eine Excel Tabelle einfügt statt in eine Textdatei, muss aber nicht sein.
wenn es möglich ist wäre es schön wenn man:
- den Ordner in dem sich die Textdatein befinden,
- die zeile (zb.: Zeile2 oder Zeile3 oder.... die kopiert werden soll,
- Namen und Pfad der Zieldatei
wählen könnte.
Ich weiß nicht ob so etwas überhaupt so einfach und ohne größeren Aufwand möglich ist und hoffe das mir da jemand weiterhelfen kann.
Ich bedanke mich schon einmal im Voraus und wünsche allen noch einen schönen Tag.
Mfg Rindercountry
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125747
Url: https://administrator.de/forum/daten-auslesen-125747.html
Ausgedruckt am: 19.05.2025 um 20:05 Uhr
5 Kommentare
Neuester Kommentar
Moin Rindercountry,
willkommen im Forum.
Regelmäßig in unseren Projektbesprechungen, wenn die tollen Powerpointfolien im corporate design aufgelegt und durchgeklickt werden....
... kommt nach den ersten 3 Klötzchenbildern mit dem GROSSEN Zusammenhang die etwas detailliertere Konzeptdarstellung ....
und IMMER auf dieser Folie 4 ist so ein dicker spiralförmiger Pfeil von A nach B.
Auch ohne Beschriftung weiss immer jeder den Anwesenden: "Jepp, genau HIER passiert offensichtlich ein kleines Wunder".
Wie ich soeben gelernt habe, geht das auch ohne PowerPoint.
Ah ja.
Der Algorithmus, um von A bzw der Quelldatei-Zeile #2 nach B bzw auf den Bolzen "1234 (abcd)" zu kommen ist...?
Intuition? Internes Applikationswissen? Künstliche Intelligenz?
Wenn der Aufbau der Zeile 2 (oder welcher auch immer) keine beschreibbare Struktur hat, dann können wir Kram den Hasen geben.
Ober zumindest nicht automatisiert verarbeiten.
Die jeweils 2. Zeilen rausflöhen aus den Dateien und in eine neue Datei schreiben ist schnell gemacht.
Das sollte ein Oneliner vom CMD-Prompt aus belegen:
Output wäre bei Deinen 3 Beispieldateien unter den Namen e:\schnipsel\quelldatei1.txt /...2.bla, ...3.Blubb:
wobei aber schon deutlich wird, dass die Information, welche Zeile aus welcher Quelldatei kommt verloren geht.
Auch diesen pilpul bekommen wir schnell gebacken:
Aber die Zeilenzerlegung ist nicht definiert.
Bitte um etwas genauere Beschreibung der Anforderung.
Grüße
Biber
willkommen im Forum.
Regelmäßig in unseren Projektbesprechungen, wenn die tollen Powerpointfolien im corporate design aufgelegt und durchgeklickt werden....
... kommt nach den ersten 3 Klötzchenbildern mit dem GROSSEN Zusammenhang die etwas detailliertere Konzeptdarstellung ....
und IMMER auf dieser Folie 4 ist so ein dicker spiralförmiger Pfeil von A nach B.
Auch ohne Beschriftung weiss immer jeder den Anwesenden: "Jepp, genau HIER passiert offensichtlich ein kleines Wunder".
Wie ich soeben gelernt habe, geht das auch ohne PowerPoint.
....
Quelldatei 3:
---
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (abcd)"
Zeile3: irgendwelche daten
...
...
Zieldatei:
---
1234 (abcd)
4321 (abcd)
1234 (dcba)
Quelldatei 3:
---
Zeile1: irgendwelche daten
Zeile2: Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (abcd)"
Zeile3: irgendwelche daten
...
...
Zieldatei:
---
1234 (abcd)
4321 (abcd)
1234 (dcba)
Ah ja.
Der Algorithmus, um von A bzw der Quelldatei-Zeile #2 nach B bzw auf den Bolzen "1234 (abcd)" zu kommen ist...?
Intuition? Internes Applikationswissen? Künstliche Intelligenz?
Wenn der Aufbau der Zeile 2 (oder welcher auch immer) keine beschreibbare Struktur hat, dann können wir Kram den Hasen geben.
Ober zumindest nicht automatisiert verarbeiten.
Die jeweils 2. Zeilen rausflöhen aus den Dateien und in eine neue Datei schreiben ist schnell gemacht.
Das sollte ein Oneliner vom CMD-Prompt aus belegen:
for /f "delims=: tokens=3* " %i in ('findstr /n "." e:\schnipsel\quelldat*.*^|find ":2:"') do @echo %j
Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (dcba)"
Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:4321 (abcd)"
Text und zahlen gegebenenfalls sonderzeichen wie ( ) "zb:1234 (abcd)"
wobei aber schon deutlich wird, dass die Information, welche Zeile aus welcher Quelldatei kommt verloren geht.
Auch diesen pilpul bekommen wir schnell gebacken:
- den Ordner in dem sich die Textdatein befinden,
- die zeile (zb.: Zeile2 oder Zeile3 oder.... die kopiert werden soll,
- Namen und Pfad der Zieldatei
- die zeile (zb.: Zeile2 oder Zeile3 oder.... die kopiert werden soll,
- Namen und Pfad der Zieldatei
Aber die Zeilenzerlegung ist nicht definiert.
Bitte um etwas genauere Beschreibung der Anforderung.
Grüße
Biber

Zitat von @Biber:
...
Die jeweils 2. Zeilen rausflöhen aus den Dateien und in eine
neue Datei schreiben ist schnell gemacht.
Das sollte ein Oneliner vom CMD-Prompt aus belegen:
...
Die jeweils 2. Zeilen rausflöhen aus den Dateien und in eine
neue Datei schreiben ist schnell gemacht.
Das sollte ein Oneliner vom CMD-Prompt aus belegen:
> for /f "delims=: tokens=3* " %i in ('findstr /n
> "." e:\schnipsel\quelldat*.*^|find ":2:"') do
> @echo %j
>
Wenn ich sowas lese, frage ich mich immer, ob das noch zur Programmierung, oder schon zur Quanten-Physik gehört :-p
Lonesome Walker
Moin Rindercountry,
sorry, ich hatte den Beitrag irgendwie aus den Augen verloren.
Eigentlich lohnt es sich wirklich nicht, dafür einen Batch zu schreiben - es wird nach dem, was bisher ist, nicht mehr als ein Oneliner.
Aber okay, im Batch kann ich ihn über mehrere Zeilen etwas lesbarer formatieren.
Wenn ich die oben stehende CMD-Zeile als Batch speichere UND noch eine weitere Konvertierung der Ergebniszeilen 8im Beispiel oben ja die jeweils 2. Zeilen) vorsehe, ergibt sich auch gerade mal:
-- bzw. paramteergesteuert--
Angewandt auf die angelisteten Quelldateien:ergibt sich:
Aber: die Ausgabe, hier nochmal getrennt in Token %%a und %%b unterscheidet sich ja kein Stück von der Ausgabe OHNE die zweite FOR-Anweisung.
Ist also mehr als Basis für künftige Erweiterungen gedacht.
(für Excel/eineCSV-Datei kannst Du z.B. zwischen %%a und %%b ein Komma statt ein Leerzeichen setzen, aber das brauch ich wohl nicht vorkaspern.
Falls es Dir mit festen Pfad/Dateiangaben und Zeilennummern zu inflexibel ist und mit Parametern zu unübersichtlich, dann kannst Du auch die Dateinamen/die Zeilennummern mit den Befehl "SET /P" abfragen.
Siehe dazu die Hilfe von SET am CMD-Prompt (Set /P).
Ich kann mir BTW, wenn die Ergebnisdaten so schlicht strukturiert sind, eigentlich gar nicht vorstellen, für welche weitergehende Analyse denn so ein Riesen-Excelklotz nötig sein mag. Ich denke, auch die restlichen Fragestellungen an diese extrahierten Daten sollten mit FindStr und Sort on the fly beantwortbar sein.
Grüße
Biber
sorry, ich hatte den Beitrag irgendwie aus den Augen verloren.
Eigentlich lohnt es sich wirklich nicht, dafür einen Batch zu schreiben - es wird nach dem, was bisher ist, nicht mehr als ein Oneliner.
Aber okay, im Batch kann ich ihn über mehrere Zeilen etwas lesbarer formatieren.
Wenn ich die oben stehende CMD-Zeile als Batch speichere UND noch eine weitere Konvertierung der Ergebniszeilen 8im Beispiel oben ja die jeweils 2. Zeilen) vorsehe, ergibt sich auch gerade mal:
::---- Rindercountry.cmd -------
@echo off & setlocal
@FOR /F "delims=: tokens=3* " %%i IN (
'findstr /n "." e:\schnipsel\quelldat*.*^|find ":2:"'
) DO @FOR /F "tokens=1,*" %%a in ("%%j") do @echo %%a %%b
::---- Rindercountry2.cmd -------
@FOR /F "delims=: tokens=3* " %%i IN (
'findstr /n "." "%~1"^|find ":%2:"'
) DO @FOR /F "tokens=1,*" %%a in ("%%j") do @echo %%a %%b
Angewandt auf die angelisteten Quelldateien:ergibt sich:
>findstr "." e:\schnipsel\quellda*.*
e:\schnipsel\Quelldatei3.txt:irgendwelche daten
e:\schnipsel\Quelldatei3.txt:O333
e:\schnipsel\Quelldatei3.txt:irgendwelche daten
e:\schnipsel\Quelldatei2.txt:irgendwelche daten
e:\schnipsel\Quelldatei2.txt:O222 (beliebiger text zu O222)
e:\schnipsel\Quelldatei2.txt:irgendwelche daten
e:\schnipsel\Quelldatei1.txt:irgendwelche daten
e:\schnipsel\Quelldatei1.txt:O11111111 (beliebiger text zu O11111111)
e:\schnipsel\Quelldatei1.txt:Zeile3: irgendwelche daten
(= 7:14:34 D:\temp=)
>e:\schnipsel\rindercountry
O333
O222 (beliebiger text zu O222)
O11111111 (beliebiger text zu O11111111)
(= 7:14:42 D:\temp=)
>e:\schnipsel\rindercountry2 e:\schnipsel\quellda*.* 2
O333
O222 (beliebiger text zu O222)
O11111111 (beliebiger text zu O11111111)
Aber: die Ausgabe, hier nochmal getrennt in Token %%a und %%b unterscheidet sich ja kein Stück von der Ausgabe OHNE die zweite FOR-Anweisung.
Ist also mehr als Basis für künftige Erweiterungen gedacht.
(für Excel/eineCSV-Datei kannst Du z.B. zwischen %%a und %%b ein Komma statt ein Leerzeichen setzen, aber das brauch ich wohl nicht vorkaspern.
Falls es Dir mit festen Pfad/Dateiangaben und Zeilennummern zu inflexibel ist und mit Parametern zu unübersichtlich, dann kannst Du auch die Dateinamen/die Zeilennummern mit den Befehl "SET /P" abfragen.
Siehe dazu die Hilfe von SET am CMD-Prompt (Set /P).
Ich kann mir BTW, wenn die Ergebnisdaten so schlicht strukturiert sind, eigentlich gar nicht vorstellen, für welche weitergehende Analyse denn so ein Riesen-Excelklotz nötig sein mag. Ich denke, auch die restlichen Fragestellungen an diese extrahierten Daten sollten mit FindStr und Sort on the fly beantwortbar sein.
Grüße
Biber