wczytanie pliku rozdzielanego odstępami - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html) +--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html) +--- Wątek: wczytanie pliku rozdzielanego odstępami (/thread-433.html) |
wczytanie pliku rozdzielanego odstępami - matooook - 09-04-2011 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. 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 RE: wczytanie pliku rozdzielanego odstępami - borys - 09-04-2011 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. RE: wczytanie pliku rozdzielanego odstępami - matooook - 09-04-2011 <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ć? RE: wczytanie pliku rozdzielanego odstępami - borys - 09-04-2011 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. RE: wczytanie pliku rozdzielanego odstępami - matooook - 09-04-2011 Dziękuję - zadziałało. |