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
<alspe...@gmail.com <mailto:alspe...@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
<alspe...@gmail.com <mailto:alspe...@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@lists.osgeo.org
<mailto:QGIS-it-user@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@lists.osgeo.org <mailto:QGIS-it-user@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@lists.osgeo.org <mailto:QGIS-it-user@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@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user