phpbar.de logo

Mailinglisten-Archive

Re: Datenimport in MySQL
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Datenimport in MySQL



Hi.

Am Mon, 09 Okt 2000 schrieb Volker Wambach:
> Habe ich ne Möglichkeit ASCII-Datein mit fester Satzlänge pro Feld (!!!)
> zu importieren ???
> z.B. Stelle 1-20 = Artikelnummer, 21-50 = Bezeichnung, ...
> Je ein Datensatz pro Zeile
Direkt geht das nicht (steht auch im MySQL-Manual). Du kannst aber, z.B.
mit Perl, die Datei in eine Trennzeichen-separierte wandeln.
Das untenstehende Script musst du noch auf deine Datei anpassen, d.h. die
jeweiligen Feldlängen bei unpack angeben (anstelle des "..."). Die ersten
beiden Felder, die du ja angegeben hast, habe ich schon drin (Artikelnr:
20 Stellen = a20, Bezeichnung: 30 Stellen = a30). Das Script gibt die
gewandelte Datei auf der Standardausgabe aus, so das du es wie folgt
starten musst (wenn du das Script als "fest2csv" speicherst):
fest2csv input.txt > output.csv

Hier das Script:

#!/usr/bin/perl -w
while(<>) {
 _(at)_array = unpack("a20 a30 ...", $_);
 for (_(at)_array) { s/\s+$// }   # hängenden Whitespace entfernen
 print join(";", _(at)_array) , "\n";
}

Du brauchst latürnich noch Perl, ist bei Linux normalerweise dabei und
gibt auch für Windows (da ist der Start aber anders, glaube ich).

Ciao, Rene

-- 
----------------------------------------------------------------------
  mailto:rene.fertig_(at)_wtal.de         http://home.telebel.de/referti/
======================================================================
>>>>>>>>>>>>  PGP-Key auf Anfrage +++ PGP-Key on request  <<<<<<<<<<<<

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive