QGIS nie odczytuje kolumn tabeli podczas importu CSV w systemie Mac OS

9

Próbuję zaimportować plik CSV do QGIS, ale ostatecznie wygląda to tak, jak poniżej mój ekran drukowania (program jest w języku szwedzkim, ale w oknie podglądu możesz zobaczyć, jak QGIS nie odczyta poprawnie moich danych). Nie mogę załadować danych, ponieważ z jakiegoś powodu QGIS odczytuje moje kolumny tabeli CSV jako pojedynczy wiersz. Co jest nie tak? Chcę, aby QGIS odczytywał moje dane jako liczby, dlatego utworzyłem dodatkowy plik csvt z kodami „String”, „String”, „Integer”. Czy jest coś jeszcze, co muszę zrobić, aby QGIS mógł odczytać trzecią kolumnę jako liczby?

wprowadź opis zdjęcia tutaj


Mimo to po zrobieniu tego wygląda to tak ...wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

JohannaH
źródło
1
Dodaj kilka wierszy pliku csv do pytania.
user30184
Tak, pokaż nam przynajmniej kilka wierszy z pliku CSV!
SAnderka
Możesz teraz spojrzeć na moje dane CSV!
JohannaH

Odpowiedzi:

9

Miałem ten sam problem z odczytywaniem przez QGIS pliku CSV (zapisanego z MS Excel 2011 na moim komputerze Mac) jako pojedynczego wiersza.

Tak więc ponownie zapisałem arkusz programu Excel jako „Windows Comma Separated (.csv)” i QGIS był w stanie go dobrze odczytać.

EricO
źródło
2

Twoje dane nie używają przecinków jako separatora, ale średniki.

Musisz więc przełączyć się z CSVna user-defined separator, gdzie możesz wybrać średnik.


AKTUALIZACJA

Wygląda na to, że pracujesz na komputerze Mac. Występują pewne problemy przy przesuwaniu wiersza / zwrocie karetki z CSV na Macu. Dlatego wszystkie dane są w jednej linii. Widzieć:

/programming/22052168/excel-saves-tab-delimited-files-without-newline-unix-mac-os-x

oraz raport o błędzie http://hub.qgis.org/issues/8421

AndreJ
źródło
Tak, pracuję na komputerze Mac. Występuje więc błąd podczas importowania plików CSV do QGIS na Macu ... Jestem w tym amatorem, więc czy mogę coś zrobić, aby rozwiązać ten problem, czy może jedynym prostym rozwiązaniem będzie rozwiązanie tego na PC?
JohannaH
Możesz spróbować załadować i zapisać plik Excel w LibreOffice. Lub użyj dobrego edytora tekstu, aby zastąpić niewłaściwy nowy wiersz z Excela właściwym, jak wyjaśniono w połączonych artykułach.
AndreJ
Próbowałem zapisać plik w LibreOffice, niestety nie powiodło się.
JohannaH,
Ok, więc wypróbuj edytor tekstu.
AndreJ
1

Używam również QGIS (od wersji 1.8) w OS X. Nigdy nie napotkałem problemu powrotu karetki podczas importowania plików CSV do QGIS. Czy sam utworzyłeś plik CSV, tj. Na komputerze?

Sugeruję, aby zaimportować plik CSV za pomocą oprogramowania statystycznego, takiego jak R (lub Stata, lub cokolwiek wolisz / już posiadasz), i ponownie go wyeksportować.

Xmor
źródło
Tak, sam utworzyłem CSV z Excela na moim komputerze Mac. Nie znam R ani Staty, ale jeśli jest szansa, że ​​to jest problem, zajmę się tym.
JohannaH,
1

Hm ... po pierwsze, nie widzę żadnych współrzędnych w tych danych? Add delimited text layerNarzędzie jest przeznaczone do konwersji danych z tablic na przyłączonych współrzędnych (np Shapefile) punktów.

Jeśli chcesz po prostu dodać plik csv do swojego projektu w celu dalszych dołączeń (np. Poprzez nazwy krajów lub kody ISO), załaduj go bezpośrednio za Add vector layerpomocą. Aby sprawdzić dane atrybutów, kliknij prawym przyciskiem myszy nowy wpis w menedżerze warstw i wybierz Open Attribute Data.

SAnderka
źródło
Cóż, zrobiłem to i pomyślnie wykonałem łączenie, ale ponieważ moim ORYGINALNYM problemem było to, że nie mogłem przekonać QGIS do rozpoznawania moich danych jako liczb, spróbowałem tego zamiast tego. Może teraz powinienem przeformułować moje pytanie. Ponieważ chcę przeprowadzić interwałową klasyfikację moich danych, dlaczego QGIS nie rozpoznaje moich danych jako liczbowych? Jak powiedziałem, utworzyłem dodatkowy plik csvt.
JohannaH,
Sądząc po twoim zrzucie ekranu, Twój plik CSVT powinien zawierać coś takiego "string","string","real"?
SAnderka
Tak, najpierw zawierał „String”, „String”, „Integer”, teraz zmieniłem na „String”, „„ String ”,„ Real ”, ale nadal mam ten sam problem
JohannaH
Wydaje mi się, że QGIS źle interpretuje formatowanie twoich danych. Wygląda na to, że np. 1,52E+05Jest zaokrągloną wartością o wysokiej precyzji w oryginalnych danych Excela, ale kiedy zapiszesz jako CSV, faktycznie zapisze tę wartość ( 1,52E+05) w tej komórce, a NIE oryginalną liczbę o wyższej precyzji (właśnie ją przetestowałem) . Jeśli jest tam litera ( Ew tym przypadku), QGIS wymusi stringjako typ danych. Możesz to sprawdzić, jeśli otworzysz plik csv w prostym edytorze tekstu.
SAnderka
Próbowałem zmienić dane tak, aby wyświetlały całą liczbę dziesiętną zamiast używać E. To wciąż nie
rozwiązuje problemu
0

QGIS szuka pliku CR / LF na końcu każdego wiersza w pliku .csv. W ten sposób Excel (i inne aplikacje) na komputerach z systemem Windows kończy każdy wiersz. Na komputerze Mac domyślny plik Excel .csv ma ​​tylko CR (tzn. Nie ma LF) na końcu każdego wiersza. Dlatego QGIS odczytuje plik jako jeden długi wiersz. Rozwiązaniem, jak po raz pierwszy zasugerował ericO, jest zapisanie pliku jako pliku rozdzielanego przecinkami systemu Windows (csv). Można to zrobić w programie Excel na komputerze Mac. Raz zapisany w tym formacie zostanie poprawnie odczytany przez QGIS.

Bruce Atkinson
źródło
0

Miałem ten sam problem, ale przeniosłem dane do Open Office i przekonwertowałem na CSV z OO. Więc nie ma problemu

Greg K.
źródło
2
To niewątpliwie dobra sugestia, ale wolałbym znaleźć nieco więcej wyjaśnień w odpowiedzi, na przykład jak przekonwertować CSV na OO. Czy możesz trochę rozszerzyć tę kwestię; Zdaję sobie sprawę, że nie ma wiele więcej do dodania, spróbuj jednak. Jest to prawdopodobnie spowodowane różnicą między separatorami linii CRLF systemu Windows a NewLine na komputerach Mac.
Michael Stimson