Forum QGIS

Pełna wersja: wczytanie pliku rozdzielanego odstępami
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,

chciałem wczytać plik: http://ldas.gsfc.nasa.gov/gldas/data/0.25deg/UMD60mask0.25.asc
do programu QGIS.
Niestety jako znak oddzielający dane użyta została różna liczba odstępów, w związku z czym wtyczka "Dodaj warstwę tekstową rozdzielaną separatorami"
kiepsko radzi sobie z jej przetwarzaniem.Sad

W jaki sposób można poradzić sobie z tym problemem?
Wydaje mi się, że arkusze kalkulacyjne nie są najlepszym narzędziem dla tak dużych zbiorów danych.

Myślałem o napisaniu skryptu, który dla każdej linijki:
-usunie zbędne znaki z jej początku i końca
-wyszuka lokalizacje odstępów za którym znajdują się cyfry
-na podstawie poprzedniej informacji pobierze odpowiednią liczbę cyfr, zapisze je do poszczególnych zmiennych,
po czym zapisze do pliku wynik w formacie: zmienna1;zmienna2;zmienna3;i_TAK_DALEJ
A nie prościej znajdź-i-zastąp? Najpierw usunąć ewentualny blok spacji i tabulatorów rozpoczynający wiersz, a potem kolejne takie bloki zastąpić średnikiem. Czyli zastąpić

^[ ][ ]*

nicością, a później

[ ][ ]*

średnikiem.

Można w jakimś notatniku, ale najprościej Sedem.


__________________________
EDIT: w drugim wyrażeniu oczywiście nie powinno być karety.
<quote>
Można w jakimś notatniku, ale najprościej Sedem.
</quote>

Nie znam tego narzędzia, a jest to chyba coś działającego w konsoli - czy możesz podać
dokładnie jakie polecenie mam wklepać?
Ach, to podstawa! Edytor tekstu dla leniwych i/lub zapracowanych - bo strumieniowy.

Kod:
sed -e 's/^[     ][     ]*//' -e 's/[     ][     ]*/;/g' UMD60mask0.25.asc > przerobiony.csv

Nie jestem pewien, czy przekierowanie wyjścia > zadziała na wszystkich nieuniksowych systemach.
Dziękuję - zadziałało.