Python - tabela atrybutów odwołanie - 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: Python - tabela atrybutów odwołanie (/thread-713.html) |
Python - tabela atrybutów odwołanie - Jarek_Re - 18-05-2012 Rozpoczynam przygodę z pythonem i niestety utknąłem w jednym miejsu. Chciałbym mianowicie rozpocząć operacje na tabeli atrybutów. Moje pytanie, czy jest możliwość poruszania się po tej tabeli operując na numerze wiersza i kolumny. Na tą chwile potrafię czytać dane poruszając się od góry do dołu po wierszach. Czy idzie na przykład od razu czytać np komórkę z 5 wiersza i 3 kolumny? chodzi mi o funkcję podobną jaka jest w vba w Excelu czyli np x=Arkusz1.cells(5,3). Z góry dziękuje za pomoc. RE: Python - tabela atrybutów odwołanie - Crypturgus - 18-05-2012 Może to CI w czymś pomoże http://dbfpy.sourceforge.net/ RE: Python - tabela atrybutów odwołanie - Jarek_Re - 18-05-2012 Dziękuje za odpowiedź. Jeżeli chodzi o odwołanie się do pliku dbf za bardzo mnie to nie ratuje. Docelowo wtyczka będzie używana na bazie postgis więc nie będzie plików dbf. W projekcje będzie wiele warstw, zarówno shp i postgisowych. Po wyborze aktywnej warstwy (layer = self.iface.activeLayer() ) chciałbym czytać dane bezpośrednio z niej. RE: Python - tabela atrybutów odwołanie - borys - 18-05-2012 Przez API Qgisa możesz jedynie iterować po obiektach i następnie ich atrybutach. Moja wtyczka Table Manager właśnie korzysta z bezpośredniego dostępu do pliku dbf, a następnie przeładowuje warstwę w QGISie. Ze względu na brak równoległego dostępu do pliku w Windowsach, wręcz najpierw usuwa warstwę z płótna, zapisuje zmiany do dbfa i dopiero ładuje. Również w postgresie tylko tak widziałbym rozwiązanie Twojego problemu... Tzn. oczywiście w postgresie da się trochę na skróty, a przy wyłączonym keszowaniu tabeli atrybutów i bez użycia stylu opartego na danych nawet uniknąć przeładowywania warstwy, ale chyba nie obejdzie się bez całkowicie niezależnego zapytania do bazy. RE: Python - tabela atrybutów odwołanie - Rayo - 18-05-2012 (18-05-2012, 09:33)Jarek_Re napisał(a): Czy idzie na przykład od razu czytać np komórkę z 5 wiersza i 3 kolumny? Czy możesz bliżej wyjaśnić, w jakim celu chcesz czytać z określonego wiersza? RE: Python - tabela atrybutów odwołanie - Jarek_Re - 21-05-2012 Potrzebuje takich odwołań bo, na podstawie np 3 wierszy wyliczam jedną wartość, którą chciałbym wpisać w określone miejsce. Tak dla przykładu. Pobieram wartości z kolumny A z wiersza 0,1,2 i wpisuje wynik w kolumnę B w wiersz 1. Dzięki takim odwołaniom mógłbym łatwo zapisywać wyniki. To samo tyczy się oczywiście czytania danych. Wyliczając np. kolumnę C potrzebuje dane z kolumny A i B, tyle że z różnych wierszy. RE: Python - tabela atrybutów odwołanie - Rayo - 30-05-2012 W tabeli atrybutów każdy wiersz to jeden obiekt. Dodatkowo, w zależności po której kolumnie sortujesz, obiekt taki może znaleźć się w różnych miejscach (wierszach) tabeli. Czy na pewno interesuje Cię wybór danych z określonego wiersza? Czy może wyszukanie obiektu po jego ID lub innym atrybucie? Podaj jakiś rzeczywisty przykład z Twojego zadania. |