Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Excel Feld Währung in MySQL importieren - Problem Komma float

uspc / 9 Antworten / Baumansicht Nickles

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

bei Antwort benachrichtigen
uspc Nachtrag zu: „Excel Feld Währung in MySQL importieren - Problem Komma float“
Optionen

Import über phpMyAdmin...

bei Antwort benachrichtigen
Borlander uspc „Excel Feld Währung in MySQL importieren - Problem Komma float“
Optionen

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 ;-)

bei Antwort benachrichtigen
uspc Borlander „Einfach mit deinem bevorzugten Texteditor öffnen und die Kommata durch Punkte...“
Optionen

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

bei Antwort benachrichtigen
Borlander uspc „Danke für den Tipp, aber: Sollten noch anderweitig Kommata drinstehen wird es...“
Optionen

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

bei Antwort benachrichtigen
uspc Borlander „Was passiert eigentlich wenn Du versuchst die Floats mit Komma zu importieren?...“
Optionen

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

bei Antwort benachrichtigen
Borlander uspc „Zwischenstand: PhpMyAdmin ersetzt beim Import nicht den Inha“
Optionen
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. [...] Eigentlich müßte phpmyadmin jetzt in der entsprechenden Spalte die Werte übernehmen, aber er hängt diese doch hinten dran. Ist das ein Bug ?Denke nicht, aber ohne den eindeutigen Primärschlüssel im neuen Datenimport kann das nicht funktionieren mit dem Ersetzen...

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
bei Antwort benachrichtigen
uspc Borlander „Denke nicht, aber ohne den eindeutigen Primärschlüssel im neuen Datenimport...“
Optionen

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

bei Antwort benachrichtigen
Borlander uspc „Geschafft !“
Optionen
Ganz schönes Hin-und-Her, aber hat geklappt !
Ja, warum also nicht das ganze direkt in Excel per Formel umwandeln? (Wie schon zweimal oben geschrieben...)

Gruß
Borlander
bei Antwort benachrichtigen
uspc Borlander „ Ja, warum also nicht das ganze direkt in Excel per Formel umwandeln? Wie schon...“
Optionen

...hatte ich kurz probiert, aber irgendwie ging das nicht... Aber interessehalber probier ich`s nochmal ! Besten Dank !

bei Antwort benachrichtigen