![]() |
Komplizierte Textdatei in MySQL umwandeln
Ich muss dringend eine Wörterbuchdatei in MySQL umwandeln, scheitere aber an der Unregelmäßigkeit der Datei.
Ich versuche einmal, die Deutsch-Englisch-Japanisch Datei zu beschreiben: Am Zeilenbeginn steht ein dt. Ausdruck, dann ein Trennzeichen und kein bis mehrere engl. Ausdruck, die mit (E) beginnen, dann min. ein jap Ausdruck, der mit (J) beginnt, alles immer mit dem "|" getrennt: aaaaa|(E)bbbbb|(E)ccccc|(J)xxxxx|(J)yyyyy Vor einiger Zeit hatte ich mit folgendem Skript Erfolg, die Quelldatei war aber eindeutig getrennt: PHP-Code:
Wie kann man soetwas lösen? Explode alleine hilft ja nicht.... Danke für eure Hilfe! |
Importiere die Datei doch im MS Excel und formatiere sie nach den Kriterien.
|
Am Abend gibts ein Perl-Script dafür :D
|
Zitat:
@_m3: Bin schon gespannt, danke! |
Wie schaut denn die DB aus?
|
Ich dachte an eine ganz einfache Tabelle:
CREATE TABLE `tus` ( `dt` text NOT NULL, `en` text NOT NULL, `jp` text NOT NULL, `np` text NOT NULL ) TYPE=MyISAM; "np" ist zur Sicherheit, wenn etwas nicht eindeutig zugeordnet werden kann. |
Ich habe jetzt folgendes Skript:
PHP-Code:
Was mache ich falsch? Danke |
KAnn nicht funktionieren, weil:
1.) du versuchst einen zweiten Datensatz mit derselben ID (PRIMARY KEY) anzulegen (stattdessen sollte ein update mit where verwendet werden) PHP-Code:
~ |
Hmmm, blöde Gschicht...
Was könntest du mir empfehlen? Danke! |
Ein ordentliches DB-Design. Sorry, ist aber so.
|
Und wie mach ich das?
Hat ja überhaupt nix mit der DB zu tun, das Problem ist die Textdatei! |
Zitat:
Und wie bildest Du in Deiner Db mehrere engl. oder jap. Begriffe für ein deutsches Wort ab? |
Da sehe ich überhaupt kein Problem.
Ich will ja sowieso alle Bedeutungen für ein Wort wissen. |
Ahem.
Ein Datensatz in Deiner DB hat folgendes Format: dt en jp np Was machst Du jetzt, wenn es zu einem dt mehrere en oder jp gibt? |
Scheint so, als ob ich es geschafft hätte !! :)
Jetzt werden bei jeder Zeile alle Ausdrücke einer Sprache in eine Variable geschrieben und erst am Schluss wird alles in die DB geschrieben. Deshalb ist es jetzt egal, ob es hundert Übersetzungen oder null gibt. Hier der Code: PHP-Code:
|
| Alle Zeitangaben in WEZ +2. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag