Text-Datei nach Datensatz trennen, schleife
Text-Datei nach Datensatz trennen, schleife
ciao!
Also ich habe eine kleine Aufgabe gefasst, doch nun weiss ich nicht wie ich das ganze angehen soll.
1. Ich bekomme eine EXCEL-DATEI mit 700 Zeilen
2. Diese konvertiere ich in eine TAB getrennte TEXT-DATEI mittels Excel
Wie separiere ich nun diese TEXT-DATEI in die einzelnen 700 Datensätze ?
z.B. Notepad++ zeigt mir an welches der nächste Datensatz ist.
Ich benötige doch eine schleife, oder?
greet;s satinez
Also ich habe eine kleine Aufgabe gefasst, doch nun weiss ich nicht wie ich das ganze angehen soll.
1. Ich bekomme eine EXCEL-DATEI mit 700 Zeilen
2. Diese konvertiere ich in eine TAB getrennte TEXT-DATEI mittels Excel
Wie separiere ich nun diese TEXT-DATEI in die einzelnen 700 Datensätze ?
z.B. Notepad++ zeigt mir an welches der nächste Datensatz ist.
Ich benötige doch eine schleife, oder?
greet;s satinez
Re: Text-Datei nach Datensatz trennen, schleife
Ich meine damit trennen, so das ich in einer Schleife jeden einzelenen Datensatz bearbeiten kann.
greet;s satinez
greet;s satinez
Re: Text-Datei nach Datensatz trennen, schleife
Meine Testdaten...
Als Beweis, daß sie tatsächlich TAB-getrennt sind:
...und so könnte eine Schleife in der Shell aussehen die die Daten zeilenweise einliest und bearbeiten könnte und wieder ausgibt. Die Bearbeitung fehlt hier aber schlicht...
...oder in welcher Sprache suchtest Du die Lösung?
Code: Alles auswählen
(yeti@destiny:1)~/xxx$ cat daten
1 2 3 4 5
11 22 33 44 55
111 222 333 444 555
Code: Alles auswählen
(yeti@destiny:1)~/xxx$ cat -T daten
1^I2^I3^I4^I5
11^I22^I33^I44^I55
111^I222^I333^I444^I555
Code: Alles auswählen
(yeti@destiny:1)~/xxx$ cat daten | while read a b c d e ; do echo $a $b $c $d $e ; done
1 2 3 4 5
11 22 33 44 55
111 222 333 444 555
Re: Text-Datei nach Datensatz trennen, schleife
Danke für die rasche Info.
Werde das heute Abend ausprobieren, aber wozu dient diese Variablen $a $b ... ?
Ich möchte dies eigentlich in der Shell machen, da ich von excel nicht viel Ahnung habe.
Später sollen diese Spalten und Werte in ein XML File gespeichert werden.
greet;s satinez
Werde das heute Abend ausprobieren, aber wozu dient diese Variablen $a $b ... ?
Ich möchte dies eigentlich in der Shell machen, da ich von excel nicht viel Ahnung habe.
Später sollen diese Spalten und Werte in ein XML File gespeichert werden.
greet;s satinez
Re: Text-Datei nach Datensatz trennen, schleife
Das read-Kommando hat soviele Variablennamen von mir verpaßt bekommen wie Spalten in der Datei sind. So landet jeweils der i-te Wert der Zeile in der i-ten Variablen.
So hat read Dir dann die Zeile in einzelne Werte zerlegt.
Wenn Du nur eine Variable bei read angibst, landet die ganze Zeile in dieser Variable. Auch ok... dann mußt Du halt selber mit BASHscher Stringverarbeitung darauf rumfuhrwerken.
Generell wäre bei solcher Aufgabe aber awk das Tool meiner Wahl. Das ist sozusagen die unixoïde Antwort auf die Frage nach einer Tabellenkalkulation... aber irgendwie hab ich ja schon geahnt, daß das das arme dauernd unterschätzte awk mal wieder niemanden interessiert...
So hat read Dir dann die Zeile in einzelne Werte zerlegt.
Wenn Du nur eine Variable bei read angibst, landet die ganze Zeile in dieser Variable. Auch ok... dann mußt Du halt selber mit BASHscher Stringverarbeitung darauf rumfuhrwerken.
Generell wäre bei solcher Aufgabe aber awk das Tool meiner Wahl. Das ist sozusagen die unixoïde Antwort auf die Frage nach einer Tabellenkalkulation... aber irgendwie hab ich ja schon geahnt, daß das das arme dauernd unterschätzte awk mal wieder niemanden interessiert...
Re: Text-Datei nach Datensatz trennen, schleife
Interessieren würde mich das schon, doch ich muss mal zuerst mit cut, grep und co. anfangen
Habe einige Versuche gemacht mit awk, doch die motivation mit sovielen Klammern und Sonderzeichen waren verwirrend.
Okay danke, ich habe nun das grosse so mit den Variablen in einer Schleife (while do) eingegeben.
So jetzt wird halt alles nochmal ausgegeben. Jetzt wirds komplizierter.
Ich denke dazu benötige ich ein Scriptfile zur übersicht.
1. Ich habe es jetzt in eine CSV-DATEI konvertiert, scheint besser auszusehen.
2. Wie kann ich jetzt diese so quasi wie trennen, oder erledigt das die while schleife?
3. Ich muss was in einer Spalte verändern und in eine andere Auslagern, geht das auch?
EDIT: Habe ein Bild gemacht.
Ich möchte gerne in der Textzelle (im Bild) das Publiziert: 11.04.2011 Meldungsnummer: 6116936 entfernen und alles was nach Publiziert: bis Meldungsnummer kommt
in eine neue Spalte einfügen. Das selbe bei der Meldungsnummer.
Ist das ueberhaupt möglich, oder sollte ich da besser mit EXCEL ran?
greet;s satinez
Habe einige Versuche gemacht mit awk, doch die motivation mit sovielen Klammern und Sonderzeichen waren verwirrend.
Okay danke, ich habe nun das grosse so mit den Variablen in einer Schleife (while do) eingegeben.
Code: Alles auswählen
# cat letter.csv | while read a b c d e f g h i ; do echo $a $b $c $d $e $f $g $h $i ; done
Ich denke dazu benötige ich ein Scriptfile zur übersicht.
1. Ich habe es jetzt in eine CSV-DATEI konvertiert, scheint besser auszusehen.
2. Wie kann ich jetzt diese so quasi wie trennen, oder erledigt das die while schleife?
3. Ich muss was in einer Spalte verändern und in eine andere Auslagern, geht das auch?
EDIT: Habe ein Bild gemacht.
Ich möchte gerne in der Textzelle (im Bild) das Publiziert: 11.04.2011 Meldungsnummer: 6116936 entfernen und alles was nach Publiziert: bis Meldungsnummer kommt
in eine neue Spalte einfügen. Das selbe bei der Meldungsnummer.
Ist das ueberhaupt möglich, oder sollte ich da besser mit EXCEL ran?
greet;s satinez
Re: Text-Datei nach Datensatz trennen, schleife
Wenn es noch komplizierter wird wuerde ich zu einer Sprache wie Perl oder Python raten.
Da wird das ganze moeglicherweise uebersichtlicher (und evtl. auch einfacher).
Da wird das ganze moeglicherweise uebersichtlicher (und evtl. auch einfacher).
Re: Text-Datei nach Datensatz trennen, schleife
So wie das Bild ausschaut hat die Trennung der Zeile in Felder wohl nicht geklappt.
Re: Text-Datei nach Datensatz trennen, schleife
Ja geklappt hat sie nicht, denn nur mit
macht er das nicht
Das Bild ist nur ein Beispiel, wie es aussehen müsste, von der Struktur.
Nur weiss ich nicht, wie ich da vorgehen muss
EDIT: Ich denke ich fang mal mit dem Text an, den zu filtern.
TEXT
1. Ich speichere den oben genannten Text in eine Datei namens text_export.txt
2.
Ausgabe:
- Doch wie lagere ich die daten aus und entferne dieses Teilstück von der text_export.txt ?
- Wie mache ich dies mit mehreren Texten ?
greet;s satinez
Code: Alles auswählen
# cat letter.csv | while read a b c d e f g h i ; do echo $a $b $c $d $e $f $g $h $i ; done
Das Bild ist nur ein Beispiel, wie es aussehen müsste, von der Struktur.
Nur weiss ich nicht, wie ich da vorgehen muss
EDIT: Ich denke ich fang mal mit dem Text an, den zu filtern.
TEXT
Code: Alles auswählen
Ackermann & Stassi Immobilienverwaltung, in Jonen, CH-400.2.032.969-3, Feldring, 8916 Jonen, Kollektivgesellschaft (Neueintragung). Beginn: 01.03.2011. Zweck: Erbringen von Dienstleistungen in den Bereichen Immobilienverwaltung sowie Kauf und Verkauf von Immobilien. Eingetragene Personen: Ackermann, Monica, von St. Antoni, in Jonen, Gesellschafterin, mit Kollektivunterschrift zu zweien; Stassi, Marianne, von Zürich, in Berikon, Gesellschafterin, mit Kollektivunterschrift zu zweien; Ackermann, Philipp, von St. Antoni, in Jonen, mit Kollektivunterschrift zu zweien. Publiziert: 11.04.2011 Meldungsnummer: 6116934
2.
Code: Alles auswählen
cat text_export.txt | cut -d: -f5-
Code: Alles auswählen
11.04.2011 Meldungsnummer: 6116934
- Wie mache ich dies mit mehreren Texten ?
greet;s satinez
Zuletzt geändert von satinez am 06.05.2011 23:09:16, insgesamt 2-mal geändert.
-
- Beiträge: 15
- Registriert: 22.10.2009 16:20:14
Re: Text-Datei nach Datensatz trennen, schleife
Moin moin, schau dir das mal an : Python OpenBooks.
Python ist schnell erlernbar und sehr mächtig, damit sollte dein Problem schneller gelöst sein und die weiter Verarbeitung gesichert.
Gruß der NeuKasselER
Python ist schnell erlernbar und sehr mächtig, damit sollte dein Problem schneller gelöst sein und die weiter Verarbeitung gesichert.
Gruß der NeuKasselER
Re: Text-Datei nach Datensatz trennen, schleife
Muss es wirklich XML sein?satinez hat geschrieben: Später sollen diese Spalten und Werte in ein XML File gespeichert werden.
Schau dir mal recutils an. Du könntest deine Exceldaten nach CSV konvertieren und dann mit csv2rec in das REC format.
http://www.linux-magazin.de/layout/set/ ... full/56782
http://www.gnu.org/software/recutils/
Debian Paket gibt es auf http://apt.2flub.org/
Re: Text-Datei nach Datensatz trennen, schleife
Oder JSON. Aber bitte kein XML .