CSV-Datei aus Siglent-Oszilloskop: Exponentialwerte -> Dezimalwerte

OP #7316315
Lesenswert?

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?

Angehängte Dateien:
#7316353
Lesenswert?

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.

Gast #7316499
Lesenswert?

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.

Gast #7316767
Lesenswert?

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.

Angehängte Dateien:
#7316775
Lesenswert?

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

Gast #7316978
Lesenswert?

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...

#7317051
Lesenswert?

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.

Gast #7317059
Lesenswert?

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.

Moderator #7317063
Lesenswert?

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.

Gast #7317068
Lesenswert?

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.

Gast #7317136
Lesenswert?

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>
Gast #7317139
Lesenswert?

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 ...

Gast #7317147
Lesenswert?

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.

OP #7317342
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren