Hoffe, das ist hier richtig... Ich möchte eine Exceldatei per csv in MySQL importieren. Dabaei habe ich in Excel eine Spalte mit Beträgen, also 314,55 usw. Das Feld in MySQL ist ein float. Problem: float hat statt Komma einen Punkt. Wie stell ich das an, das meine Werte mit beiden Nachkommastellen importiert werden können? Vielen Dank schon mal! Gruss uspc
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Import über phpMyAdmin...
Einfach mit deinem bevorzugten Texteditor öffnen und die Kommata durch Punkte ersetzen ;-)
(Sollten noch anderweitig Kommata drinstehen wird es natürlich ein kleines bisschen komplizierter)
Gruß
Borlander
PS: Ich schieb das mal aufs Programmierenbrett rüber, hat doch zumindest bislang noch nichts webspefizisches an sich ;-)
Danke für den Tipp, aber:
(Sollten noch anderweitig Kommata drinstehen wird es natürlich ein kleines bisschen komplizierter)
und genau das ist das Problem. Da sind noch einige Spalten mehr mit Punkte... Oder statt float was anderes nehmen? Gruß uspc
Was passiert eigentlich wenn Du versuchst die Floats mit Komma zu importieren? Hab ich selbst noch nie ausprobiert...
Oder statt float was anderes nehmen?
Du solltest hier sowieso Fixpunkt mit 2 Nachkommastellen verwenden. Floats sind generell (nicht nur bei MySQL sondern auch in allen andern Umgebungen) nicht geeignet wenn mit Geldbeträgen gerechnet wird da Rundungsfehler auftreten können!
und genau das ist das Problem. Da sind noch einige Spalten mehr mit Punkte
Dann füge jeweils rechts neben die Währungsspalten noch eine weitere Spalte ein, lasse dort die Währungsbeträge mit Punkt ausgeben (=WECHSELN(B1;",";".";1)) und blende die originalspalten einfach aus...
Gruß
Borlander
Also ich hab ja auch noch rumprobiert: wenn ich das Komma stehen lasse, sieht man in MySQL hinter dem Komma nur 2 Nullen, die Cent`s sind weg. Dann habe ich in Excel nur die Spalte mit den Beträgen als csv gespeichert, dann mit einem Editor das Komma mit dem Punkt ersetzt. Jetzt bin ich dabei, die Daten zu importieren. PhpMyAdmin bietet an, die Werte zu ersetzen. Also habe ich erst alle Spalten ohne die Zahlen importiert. Soweit ok. Dann habe ich nur die eine Spalte mit den Zahlen importiert, dabei die Option "Tabelleninhalte ersetzen" aktiviert. Eigentlich müßte phpmyadmin jetzt in der entsprechenden Spalte die Werte übernehmen, aber er hängt diese doch hinten dran. Ist das ein Bug ? Wieso geht das nicht? Jetzt käme ja auch der Gedanke, in Excel wieder die Zahlen als Spalte (jetzt liegt mir diese ja vor: Zahlen mit Punkten statt Komma) einzufügen - das kann Excel aber so nicht übernehmen. Danke schonmal - SG uspc
Jetzt käme ja auch der Gedanke, in Excel wieder die Zahlen als Spalte (jetzt liegt mir diese ja vor: Zahlen mit Punkten statt Komma) einzufügen - das kann Excel aber so nicht übernehmen.Siehe oben, mit meiner Formel kannst Du die vorhandene Spalte direkt umwandeln...
Gruß
Borlander
Jetzt hats geklappt, ich habe - dank deiner Idee mit dem Editor - die Spalte mit den Zaalen extra als csv exportiert, die Kommas durch Punkte ersetzt. Der Import in MySQL ließe sich nur durch eine komplette Tabelle einlesen, weil er bei 2 Importen die Daten hinten dranhängt. Also in Excel die nun veränderte csv-Datei reinkopiert, aber die Spalte VORHER als Text formatiert. Dann konnte auch Excel die Zahlen mit Punkten darstellen. Ganz schönes Hin-und-Her, aber hat geklappt ! Vielen Danke nochmal ! MfG uspc
Ja, warum also nicht das ganze direkt in Excel per Formel umwandeln? (Wie schon zweimal oben geschrieben...)
Gruß
Borlander
...hatte ich kurz probiert, aber irgendwie ging das nicht... Aber interessehalber probier ich`s nochmal ! Besten Dank !