Forum: Analoge Elektronik und Schaltungstechnik CSV-Datei aus Siglent-Oszilloskop: Exponentialwerte -> Dezimalwerte


von Andreas S. (andreas_s33)


Angehängte Dateien:

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?

von Dirk B. (dirkb2)


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.

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

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?

von Wolfgang (Gast)


Lesenswert?

p.s.
Dein Problem ist wahrscheinlich nicht die Exponentialdarstellung, 
sondern der Dezimalpunkt. Auf welches Dezimaltrennzeichen ist dein 
Rechner eingestellt?

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

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.

von Er schon wieder (Gast)


Lesenswert?

Nimm die CSV, einen Editor und dann suchen und ersetzen.
Ersetze Punkt gegen Komma und speicher die Datei wieder ab.
Dann klappt das.

von Manfred (Gast)


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.

von Er schon wieder (Gast)


Lesenswert?

@Manfred,
dei Text hier ist komplett sinnbefreit! Was soll der Sch..?
Samstagabend allein zu Haus und Frust schieben? Na dann noch viel Spaß!

von Andreas S. (andreas_s33)


Angehängte Dateien:

Lesenswert?

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

von Christian M. (christian_m280)


Lesenswert?

Sehr vorbildlich, hier auch die Lösung zu posten. Und noch so 
detailliert! Bravo!

Gruss Chregu

von Wolfgang (Gast)


Angehängte Dateien:

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.

von der da (Gast)


Lesenswert?

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.

von Baku M. (baku)


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

von Wolfgang (Gast)


Lesenswert?

der da schrieb:
> Auf einen Standard zu wandeln ist richtig.

Was gibt es da zu wandeln. Das Dezimaltrennzeichen "." IST ein Standard

von der da (Gast)


Lesenswert?

Einen Standard meint einen (Anzahl) Standard.
Es wurde nich geschrieben auf welchen.
Guten Morgen

von Jester (Gast)


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

von Dirk B. (dirkb2)


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.

von Wolfgang (Gast)


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.

von Yalu X. (yalu) (Moderator)


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.

von Wolfgang (Gast)


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.

von Wolfgang (Gast)


Lesenswert?

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.

von Jester (Gast)


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>

von Jester (Gast)


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

von Gerald K. (geku)


Lesenswert?

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)

von Jester (Gast)


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.

von Andreas S. (andreas_s33)


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

von Andreas S. (andreas_s33)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.