Seite 1 von 2

Messdaten umwandeln

Verfasst: Fr, 12.09.2008 09:57
von TJF
Hallo,

folgendes Problem: Ich habe 2 Spalten Messdaten in Ascii-Form (ca. 500 Zeilen). Schaut z.B. so aus (jede Spalte rechtsbündig!)
98.30 -52.31
100.97 -52.46
Es soll nur in jeder Zeile der Wert der zweiten Spalte geändert werden. Links stehen Frequenzwerte, rechts stehen hier relative Pegelwerte für die jeweilige Frequenz. Diese relativen Werte sollen in absolute Werte umgewandelt werden. Der Einfachheit wegen: Zu allen Werten in der rechten Spalte soll jeweils z.B. +100 addiert werden. Wenn ich diese Datei in Calc öffne bekomme ich alleine schon Probleme beim Import sobald (wie hier) in der zweiten Zeile, linke Spalte, eine Zahl mehr steht. Dann verschieben sich die Spalten. Weiter geht es mit dem Problem der Addition (muß immer erst von Punkt zu Komma umgewandelt werden und später wieder zurück..). Schließlich die Rechtsbündigkeit in der fertigen neuen Ascii-Datei...

Für eine sachdienliche Hilfe um das halbwegs einfach umwandeln zu können, wäre ich sehr dankbar :-) Ideal wäre es natürlich einen Weg über ein Makro zu finden.

Viele Grüße
Thomas

P.S.:
Hier noch der recht mühsame Weg, mit dem ich das ganze momentan erfolgreich machen kann:
1.UltraEdit: Spaltenmodus ein
2.UE: Zweite Spalte kopieren
3.Calc: Daten einfügen
4.Calc: Ersten beiden Spalten formatieren (2 Nullen nach dem Komma und ersetzen von „ . “ durch „ , “)
5.Calc: In der zweiten Spalte Addition der linken Zelle mit z.B.„+110“ und auf alle Zellen anwenden
6.Calc: Nur die rechte Spalte als *.csv speichern
7.UE: *.csv öffnen und alle „ , “ ersetzen durch „ . “
8.UE: Alle fertig umgewandelten Werte kopieren und in die Originaldatei einfügen

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 10:36
von miesepeter
Ob's funzt, kann ich nicht sagen, aber ich würd's mal so versuchen:
Die amerikanische portable Version von OOo installieren, üblicherweise sollte die die Punkte als Dezimalzeichen interpretieren.
Wenn das geht, wäre dir doch schon sehr geholfen, meine ich...

Downloadlinks:
sourceforge.net
zdnet - hier musst du jedoch (kostenfreie) Mitgliedschaft beantragen, so wie ich das verstanden habe...

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 10:58
von claw
Hi!

Das Problem läßt sich recht simpel in den Griff bekommen. Dazu reicht Calc alleine aus.

1. Markiere alle Zeilen in Deiner ASCII Datei, kopiere sie und füge sie in Calc ein.
2. Der Text-Import öffnet sich. Markiere "Leerzeichen als Trennoption"
3. Unter Felder: Den Spalten-Typ auf "US-Englisch" einstellen. (Punkte werden zu Kommata)

Nun sollten alle Werte in ihren richtigen Zellen stehen.

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 11:35
von TJF
@claw

Hab' ich schon gemacht. Geht so nicht. Das Problem: Sobald die Werte der linken Spalten eine Stelle mehr bekommen (s.o. 100.97) verschiebt es die Spalten beim Import. Weil ja Werte bis über 20000 daraus werden, gibt es dann insgesamt 6 Spalten, auf die sich alles verteilt. Außerdem werden einzelne Zellen entweder als Datum oder bei vorheriger oder nachträglicher Umformatierung als falscher Wert dargestellt. So wird z.B. aus "27.10" immer "39748,00"...

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 11:42
von claw
Das verstehe ich nicht.

Die Interpretation als Datum entsteht nur, wenn die Spalte als "Standard" importiert wird. Deswegen sagte ich, im Textimport müssen die Spalten auf "US-Englisch" gesetzt werden. Dann klappt es auch.

Es sei denn, deine Tabelle hat schon eine andere Formatierung. Dann empfehle ich einfach mal ein neues Dokument zu erstellen.

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 11:51
von miesepeter
Hab's auch ausprobiert (klappte nicht) und bin nun auf folgende Lösung gekommen (Windows):
  • OpenOffice schließen.
  • Region in der Windows-Systemsteuerung auf Englisch(USA) umstellen.
  • OpenOffice öffnen, Punkte werden beim Import aus der Zwischenablage als Dezimaltrennzeichen erkannt.
  • (Leerzeichen als Trennoption führte zu keinem annehmbaren Ergebnis...)
  • Berechnungen durchführen.
  • Wieder exportieren nach reinem Textformat (habe den Windows-Editor benutzt).
  • Punkte werden als Trennzeichen übernommen (wie sie bereits ursprünglich vorlagen.)
  • Region in der Windows-Systemsteuerung auf ursprünglichen Wert umstellen.
Eine Extra-Installation der US-amerikanischen Version ist nicht nötig, da bei Berechnungen von vorneherein das Regionalschema des Betriebssystems übernommen wird...

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 11:59
von TJF
Verstehe ich auch nicht. Aber es geht alleine deshalb nicht auf diese Weise (auch wenn ich vorher in UltraEdit alle Punkte durch Kommas ersetzt habe), weil "Leerzeichen als Trennoption" einerseits richtig ist, jedoch deshalb nicht funktioniert, weil es diese vielen Spalten generiert und die Tabelle verschiebt. Wenn ...
xxx20
xx200
x2000
20000
...untereinander steht (das "x" ist immer ein Leerzeichen) generiert diese Option den Spaltenversatz...

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 12:04
von claw
achso. ganz einfach. Feldtrenner zusammenfassen anklicken. jetzt aber.... 8)

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 12:12
von TJF
Hatte ich auch schon. Ist die beste Lösung mit nur 3 Spalten :-) Ab 10000 wird die dritte Spalte generiert...

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 12:17
von TJF
@ miesepeter

Danke für den Tipp. Ich hatte nur gehofft, dass es da vielleicht eine Lösung gäbe, aus der ich vielleicht am Ende noch ein kleines Makro machen könnte. Ich kriege es ja mit den beiden Programmen hin (s.o.). Nur ist das ähnlich umständlich, wie in der Systemsteuerung ständig solche Umstellungen zu machen. Du siehst ja, dass es dann dabei ja auch nicht bleibt :-)

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 13:37
von balu
Hallo Thomas,

ich würd mal sagen, dass der kürzeste und einfachste Weg über die OOo-Spracheinstellung geht.
-> Menü
-> Extras
-> Optionen
-> Spracheinstellungen
-> Sprachen
-> Rechte Fensterhälfte:
  • -> Sprache für:
    Gebietsschema: Deutsch (Schweiz)
    Das Häckchen ist normalerweise bei
    -> Dezimaltrennertaste:
    automatisch gesetzt. Dadurch ändert sich bei
    -> Dem Gebietsschema entsprechend (.) das Komma zu einem Punkt.
Und zur sicherheit setzt Du noch bei
-> Standardsprachen der Dokumente
in das Kästchen bei
-> Nur für das aktuelle Dokument
ein Häckchen rein, und schon werden Zahlen mit einem Punkt (.) nicht mehr automatisch in das Datumsformat umgewandelt.

Hilft das schon mal weiter?


Gruß
balu

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 14:42
von TJF
Hallo balu,

ja, danke! Das funktioniert :-) Kann dann auch einfach nach der Bearbeitung als *.csv abgespeichert werden. Der nächste Schritt bei der Problemlösung wäre es, wenn man die beiden Spalten in Calc auch als 2 Spalten importieren könnte...

Viele Grüße
Thomas

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 14:51
von balu
Hallo Thomas,

ich bin's noch mal. Mir ist da eben noch etwas auf- und eingefallen
TJF hat geschrieben: Diese relativen Werte sollen in absolute Werte umgewandelt werden.
Formel dafür ist =ABS()

TJF hat geschrieben: Der Einfachheit wegen: Zu allen Werten in der rechten Spalte soll jeweils z.B. +100 addiert werden.
Du willst ja wohl nicht
-52.31 + 100
rechnen?
Denn das würde ja dann 47.69 ergeben. Rein Mathematisch betrachtet ist das ja auch vollkommen OK. Nur!!! Dadurch stimmt die Umwandlung von einer negativen Zahl in eine positive Zahl nicht mehr. Deshalb der vorige vorschlag mit =ABS(). Oder habe ich da etwas missverstanden :roll:


Noch eine andere Methode, vielleicht sogar noch viel einfacher. :mrgreen:


Voraussetzung dafür ist allerdings, dass deine zweite Spalte keine positive Werte enthält, wie z.B. 52.31 statt -52.31
Du sagst, dass deine Messdaten-Datei eine ASCII-Datei mit Spaltenaufteilung ist. Daraus folgt, dass sie wohl als .txt dir zur verfügung liegt. Deshalb habe ich deine Beispielzahlen in einem Texeditor eingegeben und als Textdatei .txt gespeichert. Dies habe ich im folgenden verfahren eingesetzt.

Mach jetzt mal folgendes.
-> Neue Calc-Datei
-> Menü
-> Einfügen
-> Tabelle aus Datei
es öffnet sich ein "Einfügen"-Fenster, das fast so aussieht wie ein "Datei-Öffnen"- Fenster. Dort wählst Du deine Messdaten-Datei aus, und klickst auf den Button "Einfügen". Jetzt erscheint ein Fenster, dass in etwa so aussieht.
TEXTIMPORT-1.png
TEXTIMPORT-1.png (14.69 KiB) 4084 mal betrachtet
Achte jetzt besonders auf folgende zwei Sachen.
1.) Bei "Andere" steht nichts drin.
2.) Im Vorschaufenster (unterer Teil) ist eine Spalte mit deinen Beispielzahlen. Sie stehen direkt nebeneinander, also in einer Spalte.

Nun gibst Du rechts neben das Feld von "Andere" einfach ein Minuszeichen (-) ein. Und achte mal darauf, was unten mit den Zahlen geschieht!!!
TEXTIMPORT-2.png
TEXTIMPORT-2.png (14.74 KiB) 4085 mal betrachtet
Wie Du siehst macht Calc aus einer Spalte, zwei Spalten. Und gleichzeitig verschwindet das Minuszeichen (-).

Wenn Du jetzt noch OK sagst, wirst Du gefragt wo hin die neue Datei eingefügt werden soll. Und nach einem weiteren klick auf OK, wird die Datei eingefügt, und deine Zahlen sind in zwei Spalten aufgeteilt und aus negative Zahlen wurden positive Zahlen.


Nun liegts an dir, welche Methode Du nimmst, und ob Du mit dem Ergebnis zufrieden bist :D
Bei weiteren Fragen und Probleme, weißt Du ja wo wir zu finden sind :wink:


Gruß
balu

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 15:02
von balu
Hallo Thomas,

habe ich eben zu spät gesehen, dass Du schon geantwortet hast.
Freut mich, das ich mit meiner ersten Antwort helfen konnte :D . Nun hoffe ich, dass mein zweiter Lösungsansatz für dich noch hilfreicher ist. :D
Ansonsten meld dich einfach :wink:


Gruß
balu

Re: Messdaten umwandeln

Verfasst: Fr, 12.09.2008 16:23
von TJF
Danke balu,

das funktioniert grundsätzlich hervorragend. Der Dreh mit dem Minuszeichen macht es möglich... Es ist übrigens richtig, wie ich es mathem. beschrieben habe. Also nicht mathem. Absolutwerte errechnen, sondern zum negativen Wert einen bestimmten positiven Wert zu addieren. Ich habe mich da mißverständlich ausgedrückt, weil ich einen größtmöglichen akustischen Pegel habe, der bei der relativen Angabe vom Wert her "0" ist und jede Abschwächung in negativen Prozent beschrieben wird. Die neue Datei muß an sich einen "Pseudo"-Absolutwert beschreiben, der positiv in Dezibel ausgedrückt wird. Dabei ist es unerheblich, ob der Wert tatsächlich stimmt. Alle Vergleichsdaten müssen nur denselben Wert addiert bekommen damit die Sache funktioniert. Will ich hier nicht weiter vertiefen, sonst wird's noch völlig wirr...:-)

Aufjeden Fall kann ich die positiv gemachten Werte zuerst übernehmen und im Zuge der Addition wieder negativ einrechnen...

Tausend Dank nochmal :-)

Viele Grüße
Thomas