Re: Tiedoston muuntaminen Survo-tiedostoksi

[vastaus aiempaan viestiin]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 27.9.2005 15:40

Koska edellistä viestiä säheltäessäni oli kiire lähteä Luopioisista
Helsinkiin "ilamisevin" itseäni hiukan hätäisesti.
Tässä tulee tarkennuksia ja yksi yleisempi konsti:

Olen sitä mieltä, että Survon käyttäjän olisi hyvä oppia laatimaan
sukroja tilapäiseen käyttöön ja silloin ei tarvitse välittää kaikista
hienouksista. Esittämäni sukro /K oli juuri tällainen ja siksi en
laittanut siihen mitään lopetustarkistusta, vaan sukro jää jauhamaan
tyhjää kohdatessaan ensimmäisen tyhjän rivin toimituskentässä.
Lopettamaan sen tietenkin saa painamalla nappia . (piste).
Automaattisen lopetuksen voisi ohjelmoida esim. tyyliin:
*{save line W1}
- if W1 '=' {} then goto Loppu

Edellisen viestini lopussa oleva sukron käynnistystilanne (koska D:t
oli jo korvattu E:illä) on
/K
     1  0  0
 0.612669E+00 0.559141E+00 0.347673E+00 0.429122E+00 0.365114E+00 0.739236E+00
 0.680062E+00 0.901523E+00 0.931254E+00 0.999792E+00
     2  0  0
 0.630713E+00 0.445655E+00 0.521257E+00 0.357039E+00 0.226450E+00 0.686001E+00
 0.721441E+00 0.794491E+00 0.853933E+00 0.964420E+00

ja sukro muuntaa aineiston muotoon:
 0.612669E+00 0.559141E+00 0.347673E+00 0.429122E+00 0.365114E+00 0.739236E+00  0.680062E+00 0.901523E+00 0.931254E+00 0.999792E+00
 0.630713E+00 0.445655E+00 0.521257E+00 0.357039E+00 0.226450E+00 0.686001E+00  0.721441E+00 0.794491E+00 0.853933E+00 0.964420E+00

Luonnollisesti tämän jälkeen nimetään saatu taulukko Survon dataksi
DATA-rivillä ja annetaan muuttujille nimet (esim. X1,X2,...,X10)
ennen ensimmäistä riviä. Taulukko siirtyy Survon datatiedostoksi
FILE COPY -komennolla.

Tämän kaiken Esko on vastauksestaan päätellen saanut tehdyksi ja
tarkoitankin tämän jälkijutun opastukseksi kaikille vastaavia
tilanteita kohtaaville.

Yleinen tapa, jossa ei tarvitse ottaa aineistoa missään vaiheessa
toimituskenttään on seuraava:

Oletetaan, että data on tekstitiedostona KOE.TXT.
Tehdään muunnos D -> E seuraavalla TXTCONV-komennolla:
TXTCONV KOE.TXT,KOE2.TXT
CONVERSIONS:
R D E
END

Muunnettu aineisto on nyt tekstitiedostossa KOE2.TXT
Katso esim.
SHOW KOE2.TXT

Siirto Survon uudeksi datatiedostoksi KOE3 onnistuu seuraavalla
FILE SAVE -kaaviolla, jossa kuvataan eri kenttien asema riveillä
ja niiden kohtalo tallennuksessa.

FILE SAVE KOE2.TXT TO NEW KOE3
FIELDS:
 1 -
 2 -
 3 -  LF
 4 X1
 5 X2
 6 X3
 7 X4
 8 X5
 9 X6 LF
10 X7
11 X8
12 X9
13 X10
END

Siis esim. ensimmäisen rivin
     1  0  0
kaikki kolme kenttää ohitetaan (-) ja LF kolmannen jälkeen ilmoittaa,
että ensimmäinen rivi päättyy (rivinsiirtoon).
Seuraavalla rivillä
 0.612669E+00 0.559141E+00 0.347673E+00 0.429122E+00 0.365114E+00 0.739236E+00
on kuusi muuttujaa, jotka siirretään muuttujiksi X1-X6 ja jälleen LF
X6:n jälkeen kertoo rivin loppuvan.
Kolmas alkuperäisessä aineistossa oleva rivi
 0.680062E+00 0.901523E+00 0.931254E+00 0.999792E+00
kuvautuu muuttujille X7-X10 ja koska se on viimeinen rivi po.
havainnossa, ei tarvitse X10:n perään panna LF-koodia.

Yleinen kuvaus tästä menettelystä löytyy Survon neuvonnasta kyselyllä
FILE? (8=FILE SAVE) (2=Conversion with a FIELDS list...).

-Seppo

Vastaukset:

Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.