Messdaten umwandeln

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Messdaten umwandeln

Beitrag 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
Benutzeravatar
miesepeter
********
Beiträge: 2243
Registriert: Sa, 10.05.2008 15:05
Wohnort: Bayern

Re: Messdaten umwandeln

Beitrag 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...
claw
***
Beiträge: 93
Registriert: Sa, 31.03.2007 19:00

Re: Messdaten umwandeln

Beitrag 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.
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag 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"...
claw
***
Beiträge: 93
Registriert: Sa, 31.03.2007 19:00

Re: Messdaten umwandeln

Beitrag 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.
Benutzeravatar
miesepeter
********
Beiträge: 2243
Registriert: Sa, 10.05.2008 15:05
Wohnort: Bayern

Re: Messdaten umwandeln

Beitrag 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...
Zuletzt geändert von miesepeter am Fr, 12.09.2008 12:04, insgesamt 5-mal geändert.
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag 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...
claw
***
Beiträge: 93
Registriert: Sa, 31.03.2007 19:00

Re: Messdaten umwandeln

Beitrag von claw »

achso. ganz einfach. Feldtrenner zusammenfassen anklicken. jetzt aber.... 8)
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag von TJF »

Hatte ich auch schon. Ist die beste Lösung mit nur 3 Spalten :-) Ab 10000 wird die dritte Spalte generiert...
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag 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 :-)
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Messdaten umwandeln

Beitrag 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
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag 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
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Messdaten umwandeln

Beitrag 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) 4067 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) 4068 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
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Messdaten umwandeln

Beitrag 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
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
TJF
**
Beiträge: 49
Registriert: Di, 30.01.2007 09:49
Wohnort: Starnberger See

Re: Messdaten umwandeln

Beitrag 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
Antworten