Text-File Daten umformatieren und in MySql importi

Moin,

ich habe ein Textfile welches so aufgebaut ist -->

FIRMA 10 
NUMMER 22
INDEX 0 
RNUMMER 123456
RDATUM 20100303 
LEISTUNGSDATUM 20100304

hier kommen noch ca 35 weitere Zeilen mit dementsprechenden "Überschriften"

Die „Spaltenüberschriften“ wie NUMMER INDEX etc sind meine DB-Felder

Datenbank selber besteht. Nun müsste ich die „Spaltenüberschriften“ umwandeln in die Felder-Überschriften und dann die dazugehörigen Daten in die DB importieren.

Hat jemand ne Idee wie ich das bewerkstelligen könnte?

Gruß Rolf

Moin, Rolf,

mit Excel und der Funktion „Transponieren“ werden Spalten zu Zeilen und umgekehrt.

Gruß Ralf

Servus,

das mit dem Transportieren klappt leider nicht.
Die Zeilen wie

FIRMA 10
NUMMER 22
INDEX 0
RNUMMER 123456
RDATUM 20100303
LEISTUNGSDATUM 20100304

wiederholen sich zig Mal in dem Textfile.

FIRMA 10 
NUMMER 22
INDEX 0 
RNUMMER 123456
RDATUM 20100303 
LEISTUNGSDATUM 20100304
+++++++++++++++++++++++++++++++++++++
FIRMA 10 
NUMMER 22
INDEX 0 
RNUMMER 589658
RDATUM 20100306 
LEISTUNGSDATUM 20100307

+++++++++++++++++++++++++++++++++++++
FIRMA 10 
NUMMER 22
INDEX 0 
RNUMMER 4444444
RDATUM 20100306 
LEISTUNGSDATUM 20100307

ich brauche also die „Überschriften“ so -->

FIRMA | NUMMER |INDEX |RNUMMER| RDATUM |LEISTUNGSDATUM |

und dann eben Zeile für Zeile die dazugehörigen Daten --\> 
FIRMA | NUMMER |INDEX |RNUMMER| RDATUM |LEISTUNGSDATUM |
10 | 22 | 0 |123456 |20100303 |20100304
10 | 22 | 0 |589658 |20100306 |20100307
10 | 22 | 0 |4444444|20100306 |20100307

Und wie gesagt die Tabelle ansich ist noch viel viel länger :frowning:

Gruß Rolf

Hi,

also wenn das doch so schön gleichmäßig ist und immer nur das Gleiche drin steht und auch noch alles int-Felder, dann nimm doch einen Texteditor (Notepad++ oder Ultraedit oder sowas ) und nutze die „alles ersetzen“ Funktion.

++++++++++++++++++++++++++++++++ ersetzen in „insert into table“
Firma ersetzen in „values (“
NUMMER ersetzen in „,“
INDEX ersetzen in „,“
.
.
Zum Schluß machst du noch eine Macroaufzeichnung "springe 7 Felder runter, ans Zeilenende, Füege „);“ ein.

Ob das Komma zum Trennen der einzelnen Werte hinter dem ersten oder vor dem nächsten Wert steht sollte MySQL egal sein.

Grüße

Chris

Hmmm, verstehe was du meinst.

Hört sich ja simple an :smile:

Ich check das mal.

Gruß Rolf

Hi,

ne, leider klappt das so auch nicht.
Was is vieleicht nicht erwähnen sollte ist, dass hie rbei manchen Spalten Felder auch Null also leer sein können.
Von daher …leider!

Ich werd echt mürbe mit dem Teil…

Gruß Rolf

Hi,

nächster Tip für die leeren Felder.
Nimm die Datei und (ist eine txt Datei oder kannst du daraus machen, oder ?) und öffne sie mit Excel.

Du kannst verschiedene Optionen wählen wie Excel erkennt wo die Spaltentrennung ist (Tab, Leerzeichen, etc)
Dann nimmst du eine zusätzliche Spalte dazu die du nach unten durchnummerierst, damit du nacher die Reihenfolge wieder hin bekommst.

Jetzt markierst du die Spalten und gehst im Menue Daten auf Sortieren.
Du sortierst nach der Spalte in der die Werte stehen und bekommst somit alle leeren Felderin einem Block. Jetzt mußt du nur noch „NULL“ reinschreiben und nach unten kopieren (Im markierten Feld unten rechts auf den Rand, da wo er verdickt ist und runter ziehen)

Danch wieder nach deiner Nummerierungsspalte Sortieren, die Spalte löschen und speichern.

Das suchen und Ersetzen kannst du dann auch in Excel machen, danach alles markieren, kopieren und in eine Textdatei einfügen.

Grüße

Chris