Mehrzeiligen Text aus Textdatei importieren

OK, also nicht einzelne Dateien, sondern eine Datei mit einer Unmenge einzelner Zeilen - das funktioniert nicht, da eine der beiden folgenden Bedingungen erfüllt sein muss:

  • 1 Datendatei / Datensatz -> importiert die gesamte Datei in das angegebene Feld
  • 1 Datendatei mit vielen Datensätzen (=1 Zeile/Datensatz) -> importiert die einzelnen Datensätze in viele Felder in vielen Dateien.

Es geht nicht, viele Zeilen so zu interpretieren, dass sie zu einem Datensatz gehören.

Wenn ich die Beispieldatendatei mit eigentlich Daten für 38 einzelne Msuikdateien aufbereiten möchte, würde ich wie folgt vorgehen:

  • alle doppelten Absatzzeichen durch eine eindeutige Kombination ersetzen, z.B. /=/
  • alle einfachen Absatzzeichen durch eine eindeutige Kombination ersetzen, z.B. ==
  • jetzt sind alle Daten in 1 Zeile.
  • zum Wiederherstellen der 38 Datensätze, ersetze /=/ durch Absatzzeichen.

Das Ergebnis ist dann so:

17:09 Uhr==Titel==Bahama Mama==Label==MCI==Interpret==Boney M.==Tonträger==Ultimate Boney M. - Long versions & rarities, Vol. 1 1976-1980==Komponist==Frank Farian==Länge==00:05:13
17:15 Uhr==Titel==Your mama don't dance==Label==CBS==Interpret==Kenny Loggins -   Jim Messina==Tonträger==Hits of the 70's==Komponist==Kenneth Clarke Loggins (1948-)==Länge==00:02:46
17:18 Uhr==Titel==Look what they've done to my song, Ma==Label==Reader's Digest==Interpret==The New Seekers==Tonträger==Walking on sunshine - Die schönsten Sommer-Hits aller Zeiten!==Komponist==Melanie Safka (1947-)==Länge==00:03:13
17:22 Uhr==Titel==Big fat momma==Label==Ariola==Interpret==Smokie==Tonträger==The other side of the road==Komponist==Chris Norman==Länge==00:02:42
17:25 Uhr==Titel==Let's hang the moon in the front room Mama==Label==Ariola==Interpret==Happiness==Tonträger==Let's hang the moon in the front room Mama==Komponist==Terry Tassenberg==Länge==00:02:19
17:28 Uhr==Titel==Vater, Mutter, Kind==Label==Amiga==Interpret==Holger Biege==Tonträger==Wenn der Abend kommt / Circulus==Komponist==Holger Biege (1952-)==Länge==00:01:32
17:32 Uhr==Titel==Mother's little helper==Label==f f r r==Interpret==The Rolling Stones==Tonträger==Hot Rocks 1964 - 1971==Komponist==Mick Jagger (1943-)==Länge==00:02:47
17:35 Uhr==Titel==Rag Mama Rag==Label==Capitol==Interpret==The Band==Tonträger==101 Original Hits - 70s Pop==Komponist==James Robbie Robertson (1944-)==Länge==00:03:00
17:39 Uhr==Titel==Creeque Alley==Label==MCA==Interpret==Mamas & The The Papas==Tonträger==The Mamas & The Papas==Komponist==John E. Phillips==Länge==00:03:43
17:42 Uhr==Titel==Mother and child reunion==Label==Warner Bros. Records==Interpret==Paul Simon==Tonträger==Negotiations and Love Songs 1971-1986==Komponist==Paul Simon==Länge==00:02:46
17:45 Uhr==Titel==The ballad of Lucy Jordan==Label==Columbia==Interpret==Dr. Hook & The Medicine Show==Tonträger==The very best of==Komponist==Shel Silverstein==Länge==00:03:52
17:50 Uhr==Titel==Mama told me (not to come)==Label==AUDIO==Interpret==Three Dog Night==Tonträger==Rock Times, Vol. 8 - 1969/70==Komponist==Randy Newman (1943-)==Länge==00:03:12
17:54 Uhr==Titel==Your mother should know==Label==Parlophone==Interpret==The Beatles==Tonträger==Magical Mystery Tour==Komponist==John Lennon (1940-1980)==Länge==00:02:27
17:57 Uhr==Titel==Julia==Label==Emi==Interpret==The Beatles==Tonträger==The Beatles (White Album) (disc 2)==Komponist==John Lennon (1940-1980)==Länge==00:02:52
18:05 Uhr==Titel==Baby love==Label==Polydor==Interpret==Mother's Finest==Tonträger==Best of Black Voices==Komponist==Glenn Murdock==Länge==00:04:18
18:10 Uhr==Titel==Your mama won't like me==Label==EMI Germany==Interpret==Suzi Quatro==Tonträger==Suzi Quatro==Komponist==Nick Chinn==Länge==00:03:57
18:16 Uhr==Titel==Mama Wilson==Label==Amiga==Interpret==Engerling==Tonträger==Die 100 grössten Ost-Hits, Vol. 2: PLatz 48-100==Komponist==Wolfram 'Boddi' Bodag (1950-)==Länge==00:04:52
18:21 Uhr==Titel==Choo Choo Mama==Label==CHRYSALIS==Interpret==Ten Years After==Tonträger==All the best==Komponist==Alvin Lee (1944-)==Länge==00:03:01
18:25 Uhr==Titel==Kozmic Blues==Label==CBS==Interpret==Janis Joplin==Tonträger==Anthology==Komponist==Janis Joplin==Länge==00:04:19
18:31 Uhr==Titel==Mama Kin==Label==Columbia==Interpret==Aerosmith==Tonträger==Devil's got a new disguise - The very best of Aerosmith 1973-1988==Komponist==Steven Tyler==Länge==00:04:24
18:36 Uhr==Titel==Mama==Label==GALA==Interpret==Renft==Tonträger==Rock aus Deutschland Ost, Vol. 4: Renft==Komponist==Peter 'Cäsar' Gläser (1949-2008)==Länge==00:05:15
18:42 Uhr==Titel==Simple man==Label==MCA==Interpret==Lynyrd Skynyrd==Tonträger==Icon: Lynyrd Skynyrd==Komponist==Gary Rossington (1951-)==Länge==00:05:53
18:49 Uhr==Titel==He, junge Mutti==Label==Amiga==Interpret==Jürgen Kerth==Tonträger==Die 100 grössten Ost-Hits, Vol. 1: PLatz 1-47==Komponist==Jürgen Kerth==Länge==00:06:29
18:57 Uhr==Titel==Have you seen your mother baby, standing in the shadow?==Label==London==Interpret==The Rolling Stones==Tonträger==Flowers==Komponist==Mick Jagger==Länge==00:02:33
19:05 Uhr==Titel==Mother goose==Label==Emi==Interpret==Jethro Tull==Tonträger==The best of acoustic==Komponist==Ian Anderson==Länge==00:03:51
19:10 Uhr==Titel==Matilda mother==Label==Emi==Interpret==Pink Floyd==Tonträger==Oh by the way==Komponist==Syd Barrett==Länge==00:03:06
19:13 Uhr==Titel==Mütter geh'n fort ohne Laut==Label==Kein GVL Labelcode==Interpret==Stern Combo Meißen==Tonträger==null==Komponist==Thomas Kurzhals (1953-)==Länge==00:04:11
19:18 Uhr==Titel==Momma==Label==Capitol==Interpret==Bob Seger==Tonträger==Beautiful loser==Komponist==Bob Seger==Länge==00:03:19
19:21 Uhr==Titel==Motorcycle Mama==Label==Reprise Records==Interpret==Neil Young==Tonträger==Comes a time==Komponist==Neil Young (1945-)==Länge==00:03:07
19:25 Uhr==Titel==That's all right (Mama)==Label==BMG STRATEGIC MARKETING GROUP==Interpret==Elvis Presley==Tonträger==Elvis at Sun==Komponist==Arthur W. 'Big Boy' Crudup==Länge==00:01:55
19:27 Uhr==Titel==Hound dog==Label==Bear Family Records==Interpret==Willie Mae 'Big Mama' Thornton==Tonträger==Teil 1: Die Anfänge 1939-1954==Komponist==Mike Stoller==Länge==00:02:49
19:31 Uhr==Titel==Motherless child==Label==TELDEC==Interpret==The Les Humphries Singers==Tonträger==Portrait==Komponist==Traditional==Länge==00:02:55
19:34 Uhr==Titel==Blues von der letzten Gelegenheit==Label==GALA==Interpret==Veronika Fischer & Band==Tonträger==Rock aus Deutschland Ost, Vol. 13: Veronika Fischer==Komponist==Franz Bartzsch (1947-2010)==Länge==00:03:48
19:40 Uhr==Titel==Coat of many colors (colours)==Label==Century 21 Records==Interpret==Dolly Parton==Tonträger==Country Update 1==Komponist==Dolly Parton (1946-)==Länge==00:03:03
19:44 Uhr==Titel==Mama liked the roses==Label==RCA Records Label==Interpret==Elvis Presley==Tonträger==Elvis - From Nashville to Memphis - The Essential 60's Masters I - Disc 4==Komponist==John Lee 'Johnny' jr Christopher==Länge==00:02:46
19:47 Uhr==Titel==Slipping through my fingers==Label==Polydor==Interpret==Abba==Tonträger==The visitors==Komponist==Benny Andersson==Länge==00:03:51
19:52 Uhr==Titel==Mama, you been on my mind==Label==SONY==Interpret==Bob Dylan==Tonträger==The Bootleg Series, Vol.1-3 (Rare & unreleased)==Komponist==Bob Dylan==Länge==00:02:55
19:56 Uhr==Titel==Dedicated to the one I love==Label==MCA==Interpret==Mamas & The The Papas==Tonträger==The Mamas & The Papas==Komponist==Lowman Pauling==Länge==00:02:55

Diese einzelnen Zeilen kannst du nun mit dem Konverter>Textdatei-Tag in 38 Musikdateien importieren (die müssen in der richtigen Reihenfolge sein - oder es muss noch irgendwo der Dateiname der Musikdatei hinzu).
Wenn die Musikdateien in dem richtigen Feld mit Daten gefüllt sind, wendest du diesen Konverter>Tag-Tag für das Feld an:
$replace(%feldname%,==,$char(13)$char10))
(wobei %feldname% von dir natürlich mit dem richtigen Feldnamen ersetzt wird).
Nach diesem Konverter sind die Zeilenschaltungen wieder vorhanden, so wie in der Ausgangsdatei mit den vielen Zeilen.

Du machst mir große Hoffnungen, ehrlich! Um nicht zu sagen, ganz große Hoffnungen.
So wie deine Zeilen sind, funktioniert der Import perfekt. Die Frage, die sich mir stellt. Wie wandelst du das in der Text-Datei so in die einzelnen Zeilen um?

Eigentlich habe ich schon beschrieben, wie man mit mehrerem Suchen/Ersetzen die Mehrzeichlichkeit auf jeweils 1 Zeile reduziert - aber das geht eben nur außerhalb vom MP3tag mit einem Programm, das Absatzmarken/Zeilenschaltungen suchen und ersetzen kann.

Okay, den ersten Schritt habe ich jetzt in OpenOffice gemacht. Ich habe den Text jetzt genau so erstellt. Ich hoffe nur, dass ich das auch verinnerlicht bekomme. Das folgende muss ich dann demnächst probieren/machen. Ich muss mich da erstmal mit den ganzen Zeichen befassen.
Gemacht, zum merken für mich, habe ich es so:
Schritt 1
Suchen & Ersetzen mit Mehr Optionen: Regulärer Ausdruck
Suchen nach: ^$
Ersetzen durch: [quote="ohrenkino, post:21, topic:71196"]
/=/
[/quote]

Suche alle
Ersetze alle
Schritt 2
Suchen & Ersetzen mit Mehr Optionen: Regulärer Ausdruck
Suche alle nach: $
Ersetze alle durch: ==
Suche alle
Ersetze alle
Schritt 3
Suchen & Ersetzen mit Mehr Optionen: Regulärer Ausdruck
Suchen nach: [quote="ohrenkino, post:21, topic:71196"]
/=/
[/quote]

Ersetzen durch: \n
Suche alle
Ersetze alle
Dürfte so korrekt sein, oder? Vielen Dank!

Du müsstest mal prüfen, ob \n ausreicht oder \r\n richtig wäre.
Aber sonst stimmt es.

Hallo ohrenkino, ich habe noch einige Male herumprobieren müssen, denn es klappte doch nicht so optimal. Und die neuen Baustellen, die sich ergaben, wurden für mich immer unübersichtlicher. Ich kann es nicht erklären, was die Ursachen waren und wie sie zustande kamen.
Ich habe folgendes gemacht und ich bilde mir ein, jetzt geht es. Um dir ein strukturelles Bild zu machen, kannst du gerne mal ein Blick auf MDR SACHSEN-ANHALT Titelliste | MDR.DE werfen. Das ist ja der Ausgangspunkt der Datensätze. Warum, weil ich nicht auf dem Schirm hatte, dass das mit dem kopieren, nicht die Ausgangsbasis zum Weitermachen ergibt. Mit Blöcken mit Leerzeile ist da nichts.
Da ich ja immer alles einzeln manuell in mein Tag-Panel kopiert habe, spielte das früher auch keine Rolle.
Aber es gibt ja ein Aufzählungszeichen mit dem Punkt, dachte ich mir. Leider fehlte mir gänzlich der Plan, wie man das in eine leere Zeile verwandelt. Ich habe wirklich ewig nach einer Lösung gesucht, aber bin dann doch fündig geworden.
Bitte nicht mit dem Kopf schütteln, wenn ich da vielleicht etwas blödes (KI) konstruiert habe, aber mir fehlt da jegliches Wissen. Ich hoffe es ist einigermaßen verständlich.
Diese Einträge - alles auswählen
Suchen & Ersetzen
Mehr Optionen: Regulärer Ausdruck
Suchen: ^([0-9]{2}:[0-9]{2} Uhr)
Ersetzen: \n$1
Nun ist sie da, die leere Zeile! Und ich dachte mir, jetzt kann es losgehen, aber nein, es wollte und wollte nichts werden. Entweder hatte ich beim ersetzen falsche Zeichen auf dem Script oder es ging erst gar nicht mit suchen los.
Da wahrscheinlich \=\ kein regulärer Ausdruck ist (?) und ich da auch keine Ahnung habe, habe ich \\ genommen. Das ging, aber am Ende aller 3 Schritte hatte ich plötzlich wieder eine Leerzeile zwischen den Blöcken. Was aber gar nicht so verkehrt ist, denn das löscht auch ungewollte Leerzeilen, wie ganz oben (hatte ich 2), die dann alles durcheinander hauen, wie letztens auch bei deinem String, der nicht gehen wollte, wenn man ^$ nochmal nutzt.
So gehe ich jetzt weiter vor:
Schritt 1
Suchen & Ersetzen
Suchen nach: ^$
Ersetzen durch: Doppel \\
Mehr Optionen: Regulärer Ausdruck
Suche alle
Ersetze alle
Schritt 2
Suchen & Ersetzen
Suche alle nach: $
Ersetze alle durch: ==
Schritt 3 Regulärer Ausdruck
Suchen & Ersetzen
Suchen nach: Doppel \\
Ersetzen durch: \n
Schritt 4
Suchen nach: ^$
Ersetzen durch: Leer lassen

\r\n hatte ich probiert, dann stand da \r im Text.
Bein Import muss ich darauf achten, das ich die Tracknummer erstelle und danach die Files auf den Kopf, von oben abwärts stelle.
Jedenfalls geht es so, hoffe ich zumindest. Das muss sich natürlich erst zeigen.
So wäre der erste Teil. Das verteilen auf die einzelnen Tags habe ich dann, wie immer gemacht, da deine Aktion immer nur ein Tag bedient oder ich es falsch mache?
Jedenfalls freue ich mich sehr und ärgere mich ein wenig, warum ich das nicht vor 10 Jahren mal gefragt habe.
Wäre \\ Okay oder wäre etwas anderes als Verwendung für Regulärer Ausdruck sicherer?
Besten Dank
Sonntag wird dann der "Probelauf"! Ich habe auch noch offene Fragen, würde die aber im Moment erstmal außen vor lassen.

Es kommt nur darauf an, einen eindeutigen, sichtbaren Trenner zwischen den Datensätzen zu haben.
Oder andersherum: ein oder mehrere leere Absätze zwischen den einzelnen Blöcken müssen sich irgendwie unterscheiden von den (gefüllten) Absätzen innerhalb eines Datenblocks.
Die einen haben den Zweck, das Datensatzende anzuzeigen, die anderen sind nur schmückende Trenner innerhalb des Datensatzes (Datenblocks).
von daher: \\ ist genauso schön wie /=/ - solange es eindeutig ist.
Rein vom Geschmack her habe ich mit \\ eher meine Probleme, weil das in MP3tag immer eine Feldtrennung verursacht. Solange \\ aber nur außerhalb von MP3tag verwendet wird, ist es egal.

Grüße! Mir leuchtet das vollkommen ein. Ich habe das jetzt in /=/= geändert. Ich kann mir es nicht erklären, warum das, nachdem das ja schon klappte, plötzlich nicht mehr ging. Ich hatte bestimmt irgendwo wieder einen Fehler gemacht.
Gut, ich wollte ja berichten, ob das heute nun mit 36 Files geklappt hat und ich muss sagen, leider nicht, aber nur wieder, weil ich in meinem Importstring einen falschen Pfad drin hatte. Total dumm, aber ansonsten hat das sensationell geklappt. Nur ich bin jetzt derjenige, der dann im Kopf auch funktionieren muss. Vielen Dank noch mal an dieser Stelle. Ich habe wieder was gelernt und ohne dich wäre das niemals etwas geworden.