Import csv nach mysql
am 20.06.2006 16:13:39 von Sebastian Deiszner
Ich habe eine csv-Datei mit etwas mehr als 73000 Einträgen (=Zeilen).
Ich importiere die CSV Datei mit folgendem Befehl:
LOAD DATA LOCAL
INFILE '/1.csv'
REPLACE
INTO TABLE ip
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"';
Dummerweise ist nach 37163 Zeilen Schluss - er beendet die SQL operation 'ganz normal' - ohne Fehlermeldung.
Muss ich irgendwas an der Konfig ändern?
gruß
sebastian
Re: Import csv nach mysql
am 20.06.2006 16:30:40 von Sebastian Deiszner
"Sebastian Deiszner" schrieb im Newsbeitrag news:44980291$0$11080$9b4e6d93@newsread4.arcor-online.net...
> Ich habe eine csv-Datei mit etwas mehr als 73000 Einträgen (=Zeilen).
>
> Ich importiere die CSV Datei mit folgendem Befehl:
>
> LOAD DATA LOCAL
> INFILE '/1.csv'
> REPLACE
> INTO TABLE ip
> FIELDS
> TERMINATED BY ','
> OPTIONALLY ENCLOSED BY '"';
>
> Dummerweise ist nach 37163 Zeilen Schluss - er beendet die SQL operation 'ganz normal' - ohne Fehlermeldung.
> Muss ich irgendwas an der Konfig ändern?
>
> gruß
>
> sebastian
Ich habe gerade festgestellt - wenn ich nur 10 Zeilen aus der csv-Datei importiere, werden nur 50 % der Einträge übernommen.
Die 37163 Einträge sind genau 50 % meiner ursprünglichen Einträge.
Woran liegt das ?
Re: Import csv nach mysql
am 20.06.2006 16:47:37 von Christian Kirsch
Sebastian Deiszner schrieb:
> "Sebastian Deiszner" schrieb im Newsbeitrag news:44980291$0$11080$9b4e6d93@newsread4.arcor-online.net...
>> Ich habe eine csv-Datei mit etwas mehr als 73000 Einträgen (=Zeilen).
>>
>> Ich importiere die CSV Datei mit folgendem Befehl:
>>
>> LOAD DATA LOCAL
>> INFILE '/1.csv'
>> REPLACE
>> INTO TABLE ip
>> FIELDS
>> TERMINATED BY ','
>> OPTIONALLY ENCLOSED BY '"';
>>
>> Dummerweise ist nach 37163 Zeilen Schluss - er beendet die SQL operation 'ganz normal' - ohne Fehlermeldung.
>> Muss ich irgendwas an der Konfig ändern?
>>
>> gruß
>>
>> sebastian
>
> Ich habe gerade festgestellt - wenn ich nur 10 Zeilen aus der csv-Datei importiere, werden nur 50 % der Einträge übernommen.
> Die 37163 Einträge sind genau 50 % meiner ursprünglichen Einträge.
>
> Woran liegt das ?
>
Zeilenenden? Mehr Input gibt's nur, wenn Du mehr und brauchbaren
Output lieferst.
Re: Import csv nach mysql
am 26.06.2006 09:59:23 von Sibylle Koczian
Robert Eckl schrieb:
> Nachdem das Thema gerade paßt, misch ich mich hier mal fragend ein:
>=20
> Ich möchte csv-Dateien in MySQL importieren mit einigen Daten, die
> Null-Werte enthalten, diverse Zahlen und Datum-Werte.
> Gegeben seien csv mit Trennzeichen (z.B. ";"), optionally enclosed '"'
> Lines terminated by '\r\n' (Windows)=20
>=20
> Folgende Probleme konnte ich bislang noch nicht befriedigend lösen:
> 1 Dezimalzeichen "," =3D> Spalte Zahl ist truncated=20
> 2 Datumsformat TT.MM.JJJJ =3D> falsches Datumsformat
> 3 Nullwerte Spalte Nullwert ist truncated
> 4 unbenötigte Spalten
>=20
> Gibt es Möglichkeiten, MySQL in Zusammenhang mit Load Data deutlich z=
u
> machen, daß
> - "," als Dezimalzeichen behandelt werden soll
> - Datumswerte als TT.MM.JJJJ geliefert werden
> - Spalten ohne Eintrag (;;) als Null behandelt werden sollen
> - Spalte nichtbenutzt ignoriert werden soll?
>=20
> Wenn ja, welche,=20
> wenn nein welche Workarrounds würdet Ihr vorschlagen?
> Da ich unter Windows arbeite, ist die CSV-Datei bearbeiten nicht so
> angenehm und mit emacs bin ich noch nicht so fit.
Auch unter Windows kannst Du die CSV-Datei mit Python (oder Perl, wenn's
denn sein muss) so abändern, dass Load Data sie anstandslos frisst. Das=
ist um nichts unangenehmer oder angenehmer als unter Linux.
Schöne Grüße,
Koczian
--=20
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian@Bibliothek.Uni-Augsburg.DE