Wenn ich aus dem Oszilloskop "Siglent SDS1104X-E" - Messdaten exportiere (SAMPLELOG) und - in das CSV-Format konvertiere, dann werden die Messwerte in Exponentialdarstellung ausgegeben. Hat jemand eine Idee, wie diese in Dezimalwerte umgewandelt werden können? Auf dieser Seite steht, dass Excel das wohl kann: https://www.mikrocontroller.net/articles/Oszilloskop Excel habe ich aber nicht. In LibreOffice können Dezimalwerte in Exponentialdarstellung angezeigt werden. Umgekehrt geht es offenbar nicht. Gibt es einen Converter, den man mit der csv-Datei füttern kann und der alle Exponentialwerte erkennt und umwandelt?
LibreCalc kann das auch, wenn die Werte als Zahlen eingelesen werden (nicht als Text) Man kann das aber auch mit jeder Programmiersprache erledigen. Das E+001 besagt aber nur, dass das Dezimalkomma/punkt von der Zahl davor um eine Stelle nach rechts geschoben wird. 1.100E+01 ist 11.00 ist 11 Ach, und es ist nur eine Darstellung. Wenn ein Programm die lesen kann, ist der Wert im Speicher.
:
Bearbeitet durch User
Andreas S. schrieb: > Hat jemand eine Idee, wie diese in Dezimalwerte umgewandelt werden > können? Hast du Beispieldaten? Warum sollte LibreOffice das nicht können?
p.s. Dein Problem ist wahrscheinlich nicht die Exponentialdarstellung, sondern der Dezimalpunkt. Auf welches Dezimaltrennzeichen ist dein Rechner eingestellt?
Andreas S. schrieb: > dann werden die Messwerte in Exponentialdarstellung ausgegeben. Werden diese wirklich in der csv-datei schon so ausgegeben oder erst in LO so angezeigt? Öffne die CSV-Datei mal mit einem Texteditor wie es darin wirklich aussieht und poste ein Beispiel daraus. Daraus ergibt sich auch gleich die Frage nach dem Dezimaltrennzeichen.
Nimm die CSV, einen Editor und dann suchen und ersetzen. Ersetze Punkt gegen Komma und speicher die Datei wieder ab. Dann klappt das.
Irgend W. schrieb: > Werden diese wirklich in der csv-datei schon so ausgegeben oder erst in > LO so angezeigt? Wieder Kindergarten über Google hierher gefunden, frisch angemeldet. Anstatt eines Bildchens könnte er mal die originale Datei anhängen. > Daraus ergibt sich auch gleich die Frage nach dem Dezimaltrennzeichen. Das kann eines der möglichen Probleme sein, wenn der Softwerker der Protokollsoftware zu blöd war, .csv zu verstehen. Bei einer anderen Anwendung habe ich mich ziemlich verrenkt, eine Konvertierungssoftware zu stricken.
@Manfred, dei Text hier ist komplett sinnbefreit! Was soll der Sch..? Samstagabend allein zu Haus und Frust schieben? Na dann noch viel Spaß!
Vielen Dank für Eure Tipps, Ihr habt mir sehr geholfen!!! Bitte verzeiht mir, dass ich die Datei nicht mitgeliefert habe. Die Lösung (mit LibreOffice): 1. Alle Punkte durch Komma ersetzen 2. Zellen als Dezimalzahl formatieren
Sehr vorbildlich, hier auch die Lösung zu posten. Und noch so detailliert! Bravo! Gruss Chregu
Andreas S. schrieb: > Bitte verzeiht mir, dass ich die Datei nicht mitgeliefert habe. > > Die Lösung (mit LibreOffice): > 1. Alle Punkte durch Komma ersetzen > 2. Zellen als Dezimalzahl formatieren Den ganzen Zirkus mit der "Punkt-durch-Komma"-Ersetzung kannst du dir sparen, wenn du im Importdialog als Gebietsschema gleich passend zum Zahlenformat "Englisch (Großbritanien)" wählst.
Gebietsschema GB, sobald du dann aber wieder Dateien mit Komma behandeln musst, hast du damit die Nase auf! Auf einen Standard zu wandeln ist richtig.
der da schrieb: > Auf einen Standard zu wandeln ist richtig. Wobei die Frage offen bleibt,welches denn nun der richtige Standard ist. International (Dezimalpunkt) wie das Original oder Deutsch (Dezimalkomma). Insofern ist diese Aussage etwas -äh- merkwürdig. In 90% aller Länder würde der Benutzer, wenn er das auf den 'Standard' konvertierte File öffnet, denken: "Was fürn Scheiss..." my 2ct Baku
der da schrieb: > Auf einen Standard zu wandeln ist richtig. Was gibt es da zu wandeln. Das Dezimaltrennzeichen "." IST ein Standard
Einen Standard meint einen (Anzahl) Standard. Es wurde nich geschrieben auf welchen. Guten Morgen
Manfred schrieb: >> Daraus ergibt sich auch gleich die Frage nach dem Dezimaltrennzeichen. > Das kann eines der möglichen Probleme sein, wenn der Softwerker der > Protokollsoftware zu blöd war, .csv zu verstehen. Kuckst du in RFC4180 rein, wird das Problem sofort klar. Die einfachste Definition des CSV-Formats (CSV = Comma Seperated Values) lautet: >. 1. Each record is located on a separate line, delimited by a line >. break (CRLF). For example: >. >. aaa,bbb,ccc CRLF >. zzz,yyy,xxx CRLF Das ist Schwachsinn - spätestens dann, wenn nun noch ein Vollpfosten in aaa, bbb, usw. 'decimals' reincodiert, ohne den Rest von RFC4180 zu beachteten. Bei - 1.23,4.56,7.89 CRLF funktioniert das ja noch, aber spätestens bei deutschen Kommazahlen - 1,23,4,56,7,89 CRLF ist dann halt Schluss mit der Eindeutigkeit. Das CRLF (statt einem einfachen LF) kann man ja noch durchgehen lassen, lässt aber erahnen, auf wessen Misthaufen dieses CSV gewachsen ist - vermutlich auf demselben, der in Pfadangaben auch unbedingt 'slash' durch 'backslash' ersetzen musste...
Jester schrieb: > Die einfachste Definition des CSV-Formats (CSV = Comma Seperated Values) Eine andere lautet Character Seperated Values. Dieser Charakter kann auch ein Tabulator sein oder Leerzeichen oder ein Semikolon. Und schon kann man Normgerechte Dezimalzahlen mit Dezimalkomma schreiben. Beim Import von CSV-Dateien kann man das auch meistens einstellen.
Jester schrieb: > Das ist Schwachsinn - spätestens dann, wenn nun noch ein Vollpfosten in > aaa, bbb, usw. 'decimals' reincodiert, ohne den Rest von RFC4180 zu > beachteten. Worauf beziehst du dich genau? Nur ein kleiner Teil der Welt verwendet das selbe Zeichen als Dezimal- und Listentrennzeichen. Solange die Einträge in der CSV-Datei nicht in Anführungszeichen eingeschlossen sind, würde es für Dezimalzahlen sowieso nicht funktionieren. Der internationale Datenaustausch würde mit Dezimalkomma nicht einfacher. Auch in JSON oder XML will man keine Alleingänge bzgl. Dezimaltrennzeichen.
Es erleichtert das Leben ganz gewaltig, wenn man bei Zahlen, die für Berechnungen in Software vorgesehen sind, als Dezimaltrennzeichen generell den Punkt verwendet und jede Software (einschließlich des OS) entsprechend einstellt. Unter Linux kommt man mit der globalen Environmentvariable
1 | LC_NUMERIC=POSIX |
meist schon sehr weit. Unter Windows gibt es m.W. eine entsprechende Einstellung in der Systemsteuerung. Nur für ein paar wenige kaputte Programme, die sich frech darüber hinwegsetzen, muss man die Einstellung ggf. noch einmal getrennt vornehmen. In deutschen Texten kann man auch das Komma verwenden (und sollte dies IMHO auch), da hier landesspezifische Regeln Vorrang haben und Zahlen nicht numerisch, sondern als generische Zeichenfolge interpretiert werden.
Dirk B. schrieb: > Und schon kann man Normgerechte Dezimalzahlen mit Dezimalkomma > schreiben. Nein, ein Großteil der Welt wird sich die Haare über Dezimalkomma raufen (s.o.). Datenaustauschformate sollte international funktionieren und nationale Alleingänge nicht noch unterstützen.
Dirk B. schrieb: > Beim Import von CSV-Dateien kann man das auch meistens einstellen. Genau das war die Lösung für das Problem von Andreas: Einfach das Gebietsschema passend zu den in der Datei verwendeten Geflogenheiten des Erstellers wählen.
Dirk B. schrieb: > Jester schrieb: >> Die einfachste Definition des CSV-Formats (CSV = Comma Seperated Values) > > Eine andere lautet Character Seperated Values. "Kuckst du in RFC4180 rein" - aber ich wiederhole mich ... <code> RFC 4180 Common Format and MIME Type for CSV Files October 2005 1. Introduction The comma separated values format (CSV) has been used for exchanging [...] </code>
Wolfgang schrieb: > Solange die Einträge in der CSV-Datei nicht in Anführungszeichen > eingeschlossen sind, würde es für Dezimalzahlen sowieso nicht > funktionieren.
1 | RFC 4180 Common Format and MIME Type for CSV Files October 2005 |
2 | |
3 | 5. Each field may or may not be enclosed in double quotes (however |
4 | some programs, such as Microsoft Excel, do not use double quotes |
5 | at all). If fields are not enclosed with double quotes, then |
6 | double quotes may not appear inside the fields. For example: |
7 | |
8 | "aaa","bbb","ccc" CRLF |
9 | zzz,yyy,xxx |
Aber ich gebe dir recht, Microsoft Excel ist mehr als überflüissig ...
Gibt es für das Oszilloskop "Siglent SDS1104X-E" keine deutschsprachige Menüführung? Dann würde der CSV Export mit ',' anstatt mit '.' durchgeführt werden. (falls richtig implementiert)
Yalu X. schrieb: > In deutschen Texten kann man auch das Komma verwenden (und sollte dies > IMHO auch), da hier landesspezifische Regeln Vorrang haben und Zahlen > nicht numerisch, sondern als generische Zeichenfolge interpretiert > werden. RFC 4180 ist kaputt - weil es, aus bekannten Gründen, nach allen Fliegen schlagen will. Man hätte in CVS als AUSTAUSCHFORMAT durchaus den Dezimalpunkt festschreiben können. Hat man aber nicht. Die Auswirkungen sieht man ja ... Wie 'decimals' landesspezifisch richtig dargestellt werden, steht auf einem ganz anderen Blatt: Hier haben natürlich die jeweiligen Regeln vorrang.
Boah... was hab ich hier für eine Diskussion losgetreten... Gerald K. schrieb: > Gibt es für das Oszilloskop "Siglent SDS1104X-E" keine > deutschsprachige > Menüführung? Dann würde der CSV Export mit ',' anstatt mit '.' > durchgeführt werden. (falls richtig implementiert) Das Menü ist auf Deutsch, trotzdem kommt die csv-Datei mit Punkt als Dezimaltrennzeichen heraus. (Wenn die Entwickler das Komma als Dezimaltrennzeichen implementieren würden, dann kollidiert dies mit dem Komma als Feldtrenner-Zeichen. Also muss dann auch ein anderes Feldtrenner-Zeichen her.)
Wolfgang schrieb: > Den ganzen Zirkus mit der "Punkt-durch-Komma"-Ersetzung kannst du dir > sparen, wenn du im Importdialog als Gebietsschema gleich passend zum > Zahlenformat "Englisch (Großbritanien)" wählst Ja, das klappt gut. Danke!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.