wie Leerstellen als Tabulator importieren?

Ich habe einige .txt-Dateien, in der die Ergebnisse mit Leerzeichen getrennt sind.

Ich finde bei Ragtime aber keine Einstellmöglichkeit, wie ich beim Importieren in ein Rechenblatt jede Zahl in eine eigene Zelle bringe.
Zur Zeit helfe ich mir, jeweils 100 Zeilen auf einmal in ein Textdokument zu kopieren, dann mit Suchen und Erstzen die Leerzeile durch einen Tabulator zu ersetzen und das Ergebnis zurückzukopieren.

Die gesamte Datei in einen "Text" zu importieren führt zum Absturz des Programms (Version 6 auf Windows und 6.5 auf MacOS)

Dirk

Re: wie Leerstellen als Tabulator importieren?

#9656 On 23 Juli, 2010 13:59 Tom Kaegi said,

Hallo Dirk

Du arbeitest offenbar mit sehr großen Datenmengen, die auf relativ primitive Art erfasst werden. Kann es sein, dass die .txt-Datei mehr als 16000 Zeichen umfasst? Dann findet der Text nicht in einer Rechenblattzelle Platz. Ob RagTime beim Import einer solchen Datei abstürzt kann ich nicht probieren, da ich nicht vor meinem Mac, sondern vor meinem iPhone sitze.

Hast du versucht, die .txt-Datei einfach mit RagTime zu öffnen (mit dem Öffnen-Befehl) und dann in dieser Textkomponente die Leerzeichen mit Suchen/Ersetzen durch Tabulatoren zu ersetzen? Denk aber auch beim anschließenden Import in ein Rechenblatt daran, dass ein Rechenblatt nur 16000 Zeilen hat.

Gruß, Thomas

Re: wie Leerstellen als Tabulator importieren?

#9657 On 23 Juli, 2010 14:50 dimoe said,

Hallo Thomas,
es sind sehr große Dateien (siehe Thema: viele Zellen mit Ergebnissen verknüpfen)

Aufgebaut sind die die Dateien wie folgt:

ncols 1281
nrows 1121
xllcorner 659398.75
yllcorner 5173198.75
cellsize 2.5
NODATA_value -9999
2198.46 2199.17 2199.5 2199.59...
hier folgen die nächsten paar Hundert Zeilen mit Werten...je Zeile 1281 Zahlen, durch Leerstelle getrennt.

Bedeuten tut es folgendes:
Spalten 1281
Zeilen 1121
Links unten ist die x-Koordinate 659.398.75 m
Links unten ist die y-Koordinate 5.173.198.75 m
Zellengröße 2.5 m

Da ich aus den Dateien schon Ergebnisse bekomme, geht es jetzt um eine Arbeitsvereinfchung:
Beim Importieren Leerstelle durch Tabulator ersetzen

Re: wie Leerstellen als Tabulator importieren?

#9658 On 23 Juli, 2010 15:44 Tom Kaegi said,

Hallo Dirk

Wie schon gesagt: ich kann hier mangels Computer & RagTime nichts probieren. Ich halte aber den vorgeschlagenen Weg für möglich:

.txt mit RT öffnen
Mit S/E alle Leerzeichen durch TAB ersetzen
Alles auswählen & kopieren
Rechenblatt öffnen, Zelle A1 wählen
Einsetzen

Weitere Gedanken:
Hast du die CSV-Erweiterung installiert? Sie ist auf der RT-CD, muss aber separat installiert werden. Ich weiss allerdings nicht, ob man bei RagTime angeben kann, dass als Trennzeichen zwischen den Werten ein Leerzeichen verwendet wird. Bei Excel geht das. Wenn's mit RT geht:
.txt-Datei zu .csv umbenennen und dann (bin mir nicht sicher) in Rechenblatt importieren oder Datei mit RT öffnen. Falls es nicht geht: Datei mit Excel öffnen (evtl. ist vorheriges Umbenennen zu .csv auch erforderlich) und dabei Leerzeichen als Trenner angeben, als .xls speichern und diese Excel-Datei mit RT öffnen. Die Verwendung des MS-Programms ist zwar unschön, kann aber helfen.

Gruß, Thomas
>

Re: wie Leerstellen als Tabulator importieren?

#9659 On 23 Juli, 2010 16:29 Mathias Milchmeyer said,

Hallo Thomas,

warum nicht alle Leerzeichen durch ";" (mit den Gänsefüßchen!) und dann von Hand an der letzten Zahl ein " anhängen und vor der ersten Zahl ein " einfügen.
Dann den ganzen Text exportieren als txt und umbenennen in csv?

Nach meiner Kenntnis ist doch CSV immer so aufgebaut, daß die Zahlen in den Gänsefüßchen stehen und durch ein Semikolon getrennt werden...

--
Mit freundlichem Gruß in die Liste

Mathias Milchmeyer

Am 23.07.2010 um 17:13 schrieb Tom Kaegi:

> Mit S/E alle Leerzeichen durch TAB ersetzen

Re: wie Leerstellen als Tabulator importieren?

#9660 On 23 Juli, 2010 16:49 Tom Kaegi said,

Hallo Mathias

CSV = Comma Separated Values
Ob es dafür eine strenge Definition gibt weiss ich nicht. Ich habe immer Dateien erhalten, die nur aus Zahlen & Kommas bestanden, ohne Gänsefüßchen (NB: bei uns in CH ist wie in den USA der Punkt der Dezimaltrenner - deshalb braucht es bei uns keine Gänsefüßchen). Damit kommt RT bestens zurecht. Meist werden von Programmen, die CSV "verstehen" auch andere Zeichen als Trenner akzeptiert, z.B. Semikolon. Mit welchen davon RT umgehen kann, kann ich hier nicht testen.

Wenn mit TAB getrennt, sollten Dirks Werte direkt als Text mit Einsetzen zellenweise ins Rechenblatt übernommen werden können. Mein CSV-Vorschlag ging davon aus, dass möglicherweise Leerzeichen beim CSV-Import als Trenner akzeptiert werden und damit der Umweg über das Ersetzen der Leerzeichen durch TAB überflüssig sein könnte.

Gruß, Thomas

Re: wie Leerstellen als Tabulator importieren?

#9661 On 23 Juli, 2010 17:54 Mathias Milchmeyer said,

Hallo Thomas,

man lernt eben nie aus...
Ich hatte bisher immer nur CSV- Daten, die wie vorhin beschrieben mit Gänsefüßchen und Semikolon aufgebaut waren. Es ist jedoch offensichtlich viel mehr möglich.
Hier ein Zitat aus der Wikipedia:

> • Ein Zeichen wird zur Trennung von Datensätzen benutzt. Dies ist in der Regel der Zeilenumbruch des datei-erzeugenden Betriebssystems – bei dem Betriebssystem Windows sind es in der Praxis oft tatsächlich zwei Zeichen.
> • Ein Zeichen wird zur Trennung von Datenfeldern (Spalten) innerhalb der Datensätze benutzt. Allgemein wird dafür das Komma eingesetzt. Abhängig von beteiligter Software und Benutzereinstellungen sind auch Semikolon, Doppelpunkt, Tabulator,Leerzeichen oder andere Zeichen üblich.
> • Um Sonderzeichen innerhalb der Daten nutzen zu können (z. B. Komma in Dezimalzahlwerten), wird ein Feldbegrenzerzeichen (auch: Textbegrenzungszeichen) benutzt. Normalerweise ist dieser Feldbegrenzer das Anführungszeichen ". Wenn der Feldbegrenzer selbst in den Daten enthalten ist, wird dieser im Datenfeld verdoppelt (siehe Maskierungszeichen).

Also wird die Datei von Dirk eine einfache CSV- Datei sein und sich mit dem CSV-Importer direkt einlesen lassen.
Das einzige Problem wird dann aber die Anzahl der Datensätze sein.

Man müßte die Datei vermutlich vor dem Einlesen in einzelne Sätze zerlegen und diese dann getrennt weiterverarbeiten.
--
Mit freundlichem Gruß in die Liste

Mathias Milchmeyer

Am 23.07.2010 um 18:19 schrieb Tom Kaegi:

> Hallo Mathias
>
> CSV = Comma Separated Values
> Ob es dafür eine strenge Definition gibt weiss ich nicht. Ich habe immer Dateien erhalten, die nur aus Zahlen & Kommas bestanden

Re: wie Leerstellen als Tabulator importieren?

#9662 On 23 Juli, 2010 18:05 dimoe said,

so ein Zwischenbericht:
Wenn ich die Daten (in Ragtime oder Excell) importiere, wird lediglich der Zeilenumbruch erkannt.
Auch nachdem ich die csv-komponente installiert habe, ändert sich daran nichts, ob die Datei nun .ascii oder .txt oder .csv heißt.

Da ich zur Zeit in einer zweiten Textdatei Abschnittsweise (z.B. 150 Zeilen = 190.000 Werte) die Leerstellen zu Tabulatoren wandeln kann, komme ich weiter, da brauche ich keine anderen Trennzeichen.

Ich habe jetzt noch mit Textwrangler versucht, Zeichen auszutauschen, aber ich befürchte, der kann mit der Suche nach Leerzeichen nichts anfangen.

Wäre eben schön gewesen, jetzt brauche ich pro Datei eben 20-30 Minuten für die Umwandlung.

Schönen Dank und schönes Wochenende!
Dirk

Re: wie Leerstellen als Tabulator importieren?

#9663 On 23 Juli, 2010 18:59 Norbert Lindenthal said,

Failed to convert the message to a meaningful format

Re: wie Leerstellen als Tabulator importieren?

#9664 On 24 Juli, 2010 07:44 dimoe said,

Jetzt habe ich die Lösung, es ging mit Excel genau so, wie Thomas geschrieben hatte, ich hatte bisher im 1. Feld "Feste Breite ...mit Leerzeichen..." angeklickt das war aber falsch!
Das Importieren dauert so mit Excell ca. 20 Sekunden.

Zum Unterschied von .txt und .csv:
.txt kann ich an einer beliebigen Stelle im Rechenblatt importieren, .csv löscht dagegen alles vorhandene!
Ich speichere also aus Excel als tab-getrennter Text

Schönen Dank an Alle

Dirk

http://dl.dropbox.com/u/943870/Einstellungen%20in%20Excel.png

Re: wie Leerstellen als Tabulator importieren?

#9665 On 24 Juli, 2010 13:14 "Norbert R. Obst" said,

Hallo, ich weiß ’was!

Ich arbeite mit Mac OS X Version 10.5.8 und RagTime 6.5.2 (Build 1821)
auf einem iMac mit 2,4 GHz Intel Core 2 Duo.z.

Bei mir kann RagTime natürlich auch Leerzeichen suchen und ersetzen.

Mit freundlichen Grüßen
Norbert O

Am 23.07.2010 um 20:25 schrieb Norbert Lindenthal:

> Am 2010-07-23 um 19:06 schrieb dimoe:
>> Ich habe jetzt noch mit Textwrangler versucht, Zeichen
>> auszutauschen, aber ich befürchte, der kann mit der Suche nach
>> Leerzeichen nichts anfangen.
>
> Textwrangler kann Leerzeichen suchen und ersetzen. Hab’s eben
> ausprobiert.
>

Re: wie Leerstellen als Tabulator importieren?

#9666 On 24 Juli, 2010 16:10 dimoe said,

Danke,
das man Leerstellen mit einem Tabulator ersetzten kann, hatte ich ja schon im 1. Beitrag geschrieben.

In einer Tabelle funktioniert es aber nicht:
die jeweils folgenden Elemente werden im Rechenblatt nicht in die nächste Spalte geschoben, das klappt nur beim importieren/hineinkopieren.

Die Datei insgesamt als Text zu öffnen/importieren führt zum Absturz, man kann sie nur als Tabelle öffnen/importieren.

Wie aber vorher gesagt, habe ich jetzt über den Excel-Umweg eine brauchbare Lösung.

P.S. Wo kommt denn auf einmal das Zitat von Norbert Lindenthal von gestern abend her?
bei mir steht:
#9663 On 23 Juli, 2010 18:59 Norbert Lindenthal said,
Failed to convert the message to a meaningful format