lange Zahlen werden in CSV-Dateien in der wissenschaftlichen Schreibweise dargestellt!

Dieser Thread ist Teil einer Diskussion zu einem Artikel:  Zum News-Artikel gehen

brumo.ch

Neues Mitglied
Hallo zusammen
ich habe ein Problem mit CSV-Dateien. Ich muss Excel-Dateien als CSV-Dateien abspeichern, damit ich sie nachher ins ERP-Programm hochladen kann. Die Artikelnummer bestehen aus bis zu 14 Zeichen. Wenn das reine Zahlen sind, dann werden sie in der CSV-Datei in der wissenschaftlichen Schreibweise dargestellt. So wird zB. 5600000000000 als 5.60E+12 dargestellt und so wird es dann auch ins ERP-System geschrieben. Das kann ich aber nicht brauchen!
Was muss ich machen, damit diese Zahlen in der CSV-Datei ausgeschrieben werden? Es geht um etwa 20'000 Artikelzeilen und da brauche ich unbedingt eine Lösung.
Wer hat mir einen Tipp?
danke und Gruss
Bruno
 

slup

PCtipp-Moderation
Teammitglied
Die Zeile/Kolonne (?) mit den Artikelnummern markieren - Zellen formatieren - Zahl (Dezimalstellen 0)
 

Thomas Ramel

Stammgast
Wenn ich das richtig verstehe, dann gibt es auch Artikelnummern, die alphanumerisch aufgebaut sind, also Buchstaben und Zahlen enthalten?

In diesem Falle solltest Du die Daten als 'Text' erfassen, dann werden sie beim Auslesen nicht verändert - ich vermute, dass das Zellenformat momentan auf 'Standard' steht.

Zum Umwandeln gehe bitte wie folgt vor:

  • Markiere die Spalte
  • Formatiere sie als 'Text'
  • Lasse die Spalte markiert
  • Wechsle ins Ribbon 'Daten'
  • Wähle 'Text in Spalten'
  • Klicke auf [Fertig stellen]

Nun sollten die Daten korrekt ausgelesen werden
 

slup

PCtipp-Moderation
Teammitglied
Hallo Thomas, welche Nachteile handelt man sich ein, wenn man meine Lösung 'Artikelnummern markieren - Zellen formatieren - Zahl (Dezimalstellen 0)' anwendet? Sowohl die alphanumerischen wie auch die rein numerischen Einträge scheinen mir im CSV richtig dargestellt zu sein.
 

Thomas Ramel

Stammgast
Hallo slup
Daten die alphanumerische Zeichen enthalten können als Zahl zu formatieren scheint mit im Ansatz sinnfrei zu sein ;-)
Und sobald die 'Zahlen' dann mehr als 15 Stellen haben passt das nicht mehr.


Aber Bruno kann so eine Auswahl treffen.
 

Gaby Salvisberg

Super-Moderator
Hallo Thomas
Zum Umwandeln gehe bitte wie folgt vor:

  • Markiere die Spalte
  • Formatiere sie als 'Text'
  • Lasse die Spalte markiert
  • Wechsle ins Ribbon 'Daten'
  • Wähle 'Text in Spalten'
  • Klicke auf [Fertig stellen]

Nun sollten die Daten korrekt ausgelesen werden
Jetzt musste ich etwas zirkeln, bis es klappte: Spalte markieren, Rechtsklick, Zellen formatieren -> Text, OK. Dann gleich zu Daten rüber, Text in Spalten, dort beide versucht (Getrennt oder Feste Breite) und auf Fertig stellen geklickt. Es tat sich zunächst nichts, die Zahlen blieben "wissenschaftlich".

Aber so gings dann: In Daten/Text in Spalten zu Getrennt greifen, auf Weiter klicken, bei Trennzeichen nichts ankreuzen, bei Textqualifizierer "Kein" wählen, auf Weiter klicken, jetzt hier bei Datenformat der Spalten "Text" verwenden. Und dann erst: Fertig stellen.
Und beim daraufhin auftauchenden Problem hilft offenbar immer noch dies:

Herzliche Grüsse
Gaby
 

Thomas Ramel

Stammgast
Hallo Gaby

Ja, wenn die Zahlen schon in wissenschaftlicher Schreibweise in den Zellen stehen, klappt das oben beschriebene nicht direkt.
Aufgrund der Beschreibung von Bruno bin ich davon ausgegangen, dass die Wissenschaftliche Darstellung erst in der .CSV-Datei auftritt und nicht in der zugrunde liegenden Excel-Datei schon vorhanden ist.

Wenn dies aber schon in der Excel-Datei der Fall ist muss zuerst das Format angepasst, oder über den Text-in-Spalten-Dialog 'hart' zugewiesen werden.

Warten wir doch mal ab, bis Bruno Licht ins Dunkel bringt... ;-)
 

brumo.ch

Neues Mitglied
Hallo zusammen
herzlichen Dank für die Tipps und sorry, dass ich mich so lange nicht gemeldet habe. Ich musste das Projekt wegen Arbeitsüberlastung etwas ruhen lassen. Jetzt bin ich wieder dran und muss die Lösung endgültig finden.
Zur Ausgangslage muss ich noch anfügen, dass in der Excel-Datei die grossen Zahlen als Formeln hinterlegt sind. Wenn ich diese dort schon als Text formatiere, dann werden die Formeln angezeigt und das geht natürlich nicht. Ich habe mal versuchshalber die langen Zahlen als Werte reinkopiert, um diese Fehlerquelle auszuschliessen. Das hat aber schlussendlich in der CSV-Datei keinen Unterschied gemacht.
Thomas vermutet absolut richtig, das Problem taucht erst in der CSV-Datei auf. Ich habe es mit euren Tipps auch schnell geschafft, die Darstellung auf Text und somit ausgeschriebene Zahlen umzustellen. Nur bleibt das leider nicht so! Wenn ich die CSV-Datei speichere und erneut öffne, dann ist wieder alles in der wissenschaftlichen Schreibweise dargestellt!!! (n):devilish:😫GRRRRR!!!!!
Ich habe dafür noch keine Lösung gefunden. Auch die ganzen Microsoft-Hilfeseiten hören bei der Zellformatierung auf. Zum Beibehalten von Formatierungen beim Speichern von CSV-Dateien schweigt sich der Support aus.
Habt ihr noch eine Idee?
liebe Grüsse
Bruno
 

Gaby Salvisberg

Super-Moderator
Hallo Bruno
Das überrascht mich nicht. CSV-Dateien können solche Formatierungen gar nicht speichern, weil das reine Textdateien sind. CSV steht für Comma Separated Values. Öffne mal eine in Notepad, dann siehst du, was ich meine. Da sind wirklich nur Spaltentitel, Spalten-Trennzeichen, Zeilenschaltungen, Feldinhalte drin, aber keinerlei Formatierungen.
Das lässt sich erst speichern, wenn du die Datei mit Datei/Speichern unter in einem Excel-Format (bevorzugt *.xlsx) speicherst.
Herzliche Grüsse
Gaby
 

Thomas Ramel

Stammgast
Hallo Bruno

Warum speicherst Du deine Daten/Werte im .CSV-Format - gibt es da spezifische Gründe dafür?

Wie Gaby schon ausführt ist eine CSV-Datei im Grunde eine normale Text-Datei - Formatierungen und ähnliches gibt es darin nicht.
Durch die Endung .CSV öffnet Excel diese Datei beim Doppelklich automatisiert und setzt Formatierungen wir der implementierte Automatismus vorgibt - daran etwas ändern geht nicht.
Allenfalls kannst Du aus Excel heraus mit Datei/öffenen die .CSV-Datei anwählen, da müsste dann eigentlich der Text-Import-Assistent starten und Du kannst den einzelnen Spalten die gewünschten Formatierungen zuweisen.

Aber dennoch - wenn Du die CSV wieder in Excel bearbeiten und verwenden willst warum dann nicht einfach als Excel-Datei speichern?
 

brumo.ch

Neues Mitglied
Hallo Thomas und Gaby

ja, ich weiss, dass CSV eigentlich keine Formate speichert und deswegen war ich so verwirrt. Ich brauche die CSV-Datei, um die Daten in mein ERP-System importieren zu können. Da führt kein Weg dran vorbei.

In der Zwischenzeit habe ich aber herausgefunden, dass nicht die CSV-Datei der Übertäter ist, sondern Excel. Ich habe die CSV-Dateien nach dem Erstellen in Excel geöffnet, um sie zu kontrollieren und überflüssige Titelzeilen zu löschen. Beim Öffnen wandelt Excel die langen Zahlen um. Das habe ich aber nicht gewusst und meinte, die Zahlen seien so in der CSV-Datei gespeichert worden. Wenn ich die CSV-Datei dann so abspeichere, werden die Zahlen natürlich in der wissenschaftlichen Schreibweise als Text gespeichert. Die ursprünglichen vollständigen Zahlen sind dann weg und können nicht mehr hergestellt werden. Deshalb werden sie auch so in mein ERP-System importiert.
Wenn ich die CSV-Datei erstelle und nicht mit Excel öffne, dann kommen die Zahlen voll ausgeschrieben ins ERP-System rein. Wenn ich die CSV-Datei im Excel öffne, muss ich die Zahlen vor dem Speichern mit den oben beschriebenen Methoden wieder in die normale Schreibweise zurück verwandeln. Dann bleiben sie vollständig in der CSV-Datei erhalten und werden auch richtig ins ERP-System importiert.

Wenn ich die CSV-Datei aus Excel heraus öffne, dann kommt kein Text-Import-Assistent, sondern die Datei wird direkt mit den automatisch umformatierten Werten geöffnet. Ich habe noch nicht herausgefunden, wie ich das umgehen kann. Scheinbar geht es einfach nicht. Deshalb werde ich ein Vorgehen wählen müssen, bei welchem ich die CSV-Datei nicht mehr öffnen muss, zumindest nicht in Excel, oder dann halt vor dem Speichern immer die Zahlen zurück formatieren. Damit kann ich leben.

Herzlichen Dank für eure Hilfe!
Gruss Bruno
 

nochEinAndreas

Stammgast
Hallo Bruno,

versuch mal, die CSV-Datei in eine TXT-Datei umzubenennen und dann mit Excel zu öffnen. Dann sollte der Import-Assistent erscheinen.

Gruß, Andreas
 
Oben