Mailinglist Archive: opensuse-de (1890 mails)

< Previous Next >
Re: Kleines MySQL - Problem ?
  • From: Rolf-Hubert Pobloth <rhp-berlin@xxxxxxxxxxx>
  • Date: Wed, 31 Jan 2007 10:03:39 +0100
  • Message-id: <200701311003.39943.rhp-berlin@xxxxxxxxxxx>
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@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx

< Previous Next >