LOAD DATA INFILE - Textdatei in Mysql-Tabelle
LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 12:15:33 von Armin Barth
Hallo,
ich habe eine Textdatei (artikelnummer bezeichnung preis), jeweils duch
Tab getrennt. Der Preis xxxx,yy ist duch Komma getrennt.
Beim Einlesen mit LOAD DATA INFILE herst1.csv INTO TABLE material.herst1
werden aber alle Nachkommastellen duch '00' ersetzt.
Was muss ich hier ändern?
Gruß
Armin
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 12:29:49 von Christian Kirsch
Armin Barth schrieb:
> Hallo,
> ich habe eine Textdatei (artikelnummer bezeichnung preis), jeweils duch
> Tab getrennt. Der Preis xxxx,yy ist duch Komma getrennt.
> Beim Einlesen mit LOAD DATA INFILE herst1.csv INTO TABLE material.herst1
> werden aber alle Nachkommastellen duch '00' ersetzt.
> Was muss ich hier ändern?
Vermutlich das Zahlenformat - MySQL erwartet US-amerikanische
Floatingpoint-Zahlen, also '.' statt ','.
Vielleicht kannst Du die Daten aus Deiner Tabellenkalkulation passend
exportieren,sonst etwas wie
sed -e 's/\([0-9]\),\([0-9]\)/\1.\2/' fasel.csv
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 12:29:58 von Guy Walter
Armin Barth wrote:
> Hallo,
> ich habe eine Textdatei (artikelnummer bezeichnung preis), jeweils duch
> Tab getrennt. Der Preis xxxx,yy ist duch Komma getrennt.
> Beim Einlesen mit LOAD DATA INFILE herst1.csv INTO TABLE material.herst1
> werden aber alle Nachkommastellen duch '00' ersetzt.
> Was muss ich hier ändern?
> Gruß
> Armin
reine Vermutung:
Werden nicht float Zahlen mit Punkt getrennt statt , :D
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 13:09:56 von Armin Barth
Armin Barth schrieb:
> Hallo,
> ich habe eine Textdatei (artikelnummer bezeichnung preis), jeweils duch
> Tab getrennt. Der Preis xxxx,yy ist duch Komma getrennt.
> Beim Einlesen mit LOAD DATA INFILE herst1.csv INTO TABLE material.herst1
> werden aber alle Nachkommastellen duch '00' ersetzt.
> Was muss ich hier ändern?
> Gruß
> Armin
mit dem '.' als Dezimaltrenner habt ihr schon recht, nur bekomme ich
alle diese Dateien in regelmäßigen Abständen von unseren Lieferanten
als .csv oder .xlt Tabelle.
Ich suche nach einen Weg, der mit das Umwandeln erspart bzw. beim Export
mit eingebunden werden kann.
Gruß
Armin
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 13:15:01 von Fabian Schladitz
Armin Barth schrieb:
> Armin Barth schrieb:
>=20
>> Hallo,
>> ich habe eine Textdatei (artikelnummer bezeichnung preis), jeweils=20
>> duch Tab getrennt. Der Preis xxxx,yy ist duch Komma getrennt.
>> Beim Einlesen mit LOAD DATA INFILE herst1.csv INTO TABLE material.hers=
t1
>> werden aber alle Nachkommastellen duch '00' ersetzt.
>> Was muss ich hier ändern?
>> Gruß
>> Armin
>=20
>=20
>=20
> mit dem '.' als Dezimaltrenner habt ihr schon recht, nur bekomme ich=20
> alle diese Dateien in regelmäßigen Abständen von unseren Lieferan=
ten
> als .csv oder .xlt Tabelle.
> Ich suche nach einen Weg, der mit das Umwandeln erspart bzw. beim Expor=
t=20
> mit eingebunden werden kann.
Sag deinem Lieferanten, dass er die Dinger mit Punkt trennen soll. Oder=20
nutze ein Shellskript und sed (wie von Christian beschrieben).
--=20
HTH,
Fabian
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 13:15:33 von Guy Walter
Armin Barth wrote:
>
> mit dem '.' als Dezimaltrenner habt ihr schon recht, nur bekomme ich
> alle diese Dateien in regelmäßigen Abständen von unseren Lieferanten
> als .csv oder .xlt Tabelle.
> Ich suche nach einen Weg, der mit das Umwandeln erspart bzw. beim Export
> mit eingebunden werden kann.
> Gruß
> Armin
Bastel Dir ein Shellscript oder PHP usw.
das beim Import die Kommas durch Punkt ersetzt und beim Export andersrum.
Gruss Guy
Re: LOAD DATA INFILE - Textdatei in Mysql-Tabelle
am 27.01.2006 18:01:00 von andreas.kronsbein
Stukenbrock, 27.01.06
Hallo Armin,
> mit dem '.' als Dezimaltrenner habt ihr schon recht, nur bekomme ich
> alle diese Dateien in regelmäßigen Abständen von unseren Lieferanten
> als .csv oder .xlt Tabelle.
> Ich suche nach einen Weg, der mit das Umwandeln erspart bzw. beim Export
> mit eingebunden werden kann.
> Gruß
> Armin
MAn kann doch einfach die Excel-Tabelle als Text so exportieren, dass das
Dezimalkomma zum Dezimalpunkt wird. Danach in MySQL importieren.
Der Asket macht aus der Tugend eine Not.
Friedrich Nietzsche