[QGIS-it-user] Esportazione tabella attributi personalizzata
Alessandro Perego
alsper78 a gmail.com
Lun 29 Apr 2019 13:34:15 PDT
Devo però avvisare che questo script funziona per mantenere l'ordine ed
i nome dei campi come visualizzati in tabella attributi, mentre per
quanto riguarda i valori li esporta come salvati e non come visualizzati
(le due cose possono essere diverse ad esempio nel caso di mappe
valori). Purtroppo sono solo un dilettante con python, chi lo sa usare
bene può fare sicuramente di meglio.
Comunque partendo dal suggerimento di Rossella mi è venuto in mente che
forse è possibile usare il riorganizzatore campi all'interno del
modellizzatore grafico per impostare trasformazioni fisse, utile se
bisogna esportare varie volte la tabella di uno stesso layer.
Il 29/04/2019 21:50, Marco Spaziani ha scritto:
> Grazie anche da parte mia.
>
> Il giorno lun 29 apr 2019 alle ore 20:45 Alessandro Perego
> <alsper78 a gmail.com <mailto:alsper78 a gmail.com>> ha scritto:
>
> Grazie per aver risposto,
> purtroppo ho un layer con circa 70 campi di cui 30 da esportare
> (ma è probabile che debba aggiungerne altri) e dover fare la
> riorganizzazione campi (cambiando l'ordine ed i nomi) ogni volta
> che devo esportare la tabella diventa un lavoraccio.
> Per ora mi sono fatto uno script da copiare nella console python
> che sembra fare il lavoro.
> Se a qualcuno può servire lo script è questo:
>
> #
> # Questo script consente di esportare la tabella attributi
> personalizzata del layer attivo
> # in un file formato testo con valori delimitati da tabulazione
> #
> from qgis.core import *
> from qgis.utils import iface
> from datetime import datetime
> layer = iface.activeLayer()
> timeNow = datetime.now().strftime('%Y%m%d-%H%M%S')
> output = QgsProject.instance().readPath("./") + '/' + layer.name
> <http://layer.name>() + '_table_' + timeNow + '.txt'
> new = open(output,'w')
> fieldList = []
> fieldIdList = []
> ATfields = layer.fields()
> ATconfig = layer.attributeTableConfig()
> ATcolumns = ATconfig.columns()
> if len( ATcolumns ) > 0:
> #
> # riga di intestazione
> for ATcolumn in ATcolumns:
> if ATcolumn.hidden == 0:
> fieldName = ATcolumn.name
> fieldID = ATfields.indexFromName(ATcolumn.name)
> fieldIdList.append( fieldID )
> displayName = layer.attributeDisplayName( fieldID )
> fieldList.append( displayName )
> headRow = '\t'.join( map( str, fieldList ) )
> write = new.write( headRow )
> #
> # righe degli attributi
> count = 0
> for feature in layer.getFeatures():
> attribList = []
> for Id in fieldIdList:
> attribList.append( feature[Id] )
> featRow = '\t'.join( map( str, attribList ) )
> write = new.write( '\n' + featRow )
> count = count + 1
> #
> new.close()
> print( 'Operazione completata' )
> print( 'File creato:', output )
> print( 'numero di record:', count )
> print( 'numero di colonne:', len( fieldIdList ) )
>
>
> Il 29/04/2019 20:07, Rossella Di Bari ha scritto:
>> Ciao Alessandro,
>> non conosco un modo diretto per esportare in foglio di calcolo la
>> tabella attributi come visualizzata, mi spiace...
>> Conosco invece il Riorganizzatore Campi, che peschi tra gli
>> strumenti di geoprocessing, e che ti crea un nuovo vettore,
>> riorganizzando le colonne e ridigitando gli alias che avevi già
>> dato. Le colonne nascoste precedentemente andrebbero eliminate.
>> Alla fine della riorganizzazione dei campi viene rigenerato un
>> nuovo vettore, anche temporaneo, che salvi come foglio di calcolo.
>> Spero di esserti stata utile (o forse no perchè mi sa che sei più
>> navigato di me con Qgis ;) )
>>
>> Saluti a tutti
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>> Mail priva di virus. www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>
>>
>>
>> Il giorno gio 25 apr 2019 alle ore 20:59 alper78
>> <alsper78 a gmail.com <mailto:alsper78 a gmail.com>> ha scritto:
>>
>> Ciao,
>> sapete dirmi se c'è modo di esportare la tabella attributi di
>> un layer
>> vettoriale mantenendo le caratteristiche con cui viene
>> visualizzata (cioè
>> con i nomi alias, con l'ordine impostato in "Organizza
>> Colonne" ed
>> escludendo le colonne nascoste)?
>> Se copio le righe selezionate per poi incollarle in un file
>> di testo o in un
>> foglio di calcolo mi perde gli alias e l'ordine
>> personalizzato delle
>> colonne.
>>
>> Grazie
>>
>>
>>
>>
>> -----
>> Alessandro Perego
>> http://www.alspergis.altervista.org
>> --
>> Sent from:
>> http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
>> _______________________________________________
>> QGIS-it-user mailing list
>> QGIS-it-user a lists.osgeo.org
>> <mailto:QGIS-it-user a lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>>
>>
>>
>> --
>> <https://zxing.org/w/decode?u=https%3A%2F%2Fdocs.google.com%2Fuc%3Fexport%3Ddownload%26id%3D0B1-C0i5xe-F6elU0eVRRbjBRSTg%26revid%3D0B1-C0i5xe-F6NUdnWDJTcTV6RVlvdkhML2hLaEJYYTg4OG1FPQ>
>>
>> _______________________________________________
>> QGIS-it-user mailing list
>> QGIS-it-user a lists.osgeo.org <mailto:QGIS-it-user a lists.osgeo.org>
>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
> --
> Alessandro Perego www.alspergis.altervista.org
> <http://www.alspergis.altervista.org/>
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org <mailto:QGIS-it-user a lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>
--
Alessandro Perego www.alspergis.altervista.org
<http://www.alspergis.altervista.org/>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20190429/b0a69995/attachment.html>
Maggiori informazioni sulla lista
QGIS-it-user