Hallo Liste, Hallo Sandy, Am Dienstag, 30. Januar 2007 18:16 schrieb Sandy Drobic:
Rolf-Hubert Pobloth wrote:
Hallo Liste,
habe ein Frage an die MySQL Spezialisten, da ich mich damit nicht so sehr auskenne benötige ich bei folgendem Problem Eure Hilfe.
Datenbank hat 1 Tabelle mit 6 Spalten 1 Spalte ist der Primärschlüssel, d.h. pro Zeile ein Wert. Die gesamte Datei besteht nur aus rd. 470 000 Zeilen.
Es liegen die Daten einmal als Datei.csv vor, die aus einer ms.doc generiert wurde. Es sind rd. 16 000 Kundenkarten mit insgesammt 470 000 Zeilen. Die CSV-Datei habe ich mit knoda (phpadmin kann so große Dateien nicht verarbeiten) eingelesen und habe nun die TEST Datensatz Feld1 Feld2 Feld3 Feld4 Feld 5 und Feld6 MySQL Datenbank.
Okay, hier hast du mich schon abgehängt. Von welcher Datei redest du? Der MySQL-Datenbank, die physikalisch irgendwo liegt, oder von einer bisher nicht erwähnten Quelldatei, wo die Rohdaten im Textformat vorliegen, die jetzt in Datensätze und Felder getrennt und in die SQL-Datenbank importiert werden sollen? Sandy
Nach einer nochmaligen Überprüfung des Sachverhaltes bin ich auf folgenden Lösungsansatz gekommen, den ich leider aus Mangel an Programmierkenntnissen nicht umsetzen kann: Die DATEN.csv Datei beginnt wie folgt KUNDENKARTE;;;; also den Text KUNDENKARTE und 5 Semikolons (;) Feldtrenner. Wenn man diese Textdatei nun Satz für Satz lesen würde und beim Auftreten des KUNDENKARTE im selben Satz einen Zählerwert hinten anfügen würde und diese Datensätze (natürlich ALLE) in eine neue Datei schreibt, dann hätte ich das Problem gelöst. Die Zählervariable wird immer um 1 erhöht und somit entstehen rd. 16000 Zeilen mit einem aufsteigenden Zähler im Datensatz. Kann mir jemand vielleicht einen Shell-Script zur Lösung anbieten? Vielen Dank schon mal im vorraus Rolf-Hubert Beispiel Input-Datei KUNDENKARTE ; ; ; ; ; (CR-LF) Output-Datei KUNDENKARTE ; ; ; ; ; 0000001 (CR-LF) Dieses müsste doch mit einem kleine Bash-Programm zu lösen sein? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org