[QGIS-it-user] Esportazione tabella attributi personalizzata

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

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 :wink: )

Saluti a tutti

···

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:

···

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 :wink: )

Saluti a tutti

Mail priva di virus. www.avast.com

Il giorno gio 25 apr 2019 alle ore 20:59 alper78 <alsper78@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
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
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://lists.osgeo.org/mailman/listinfo/qgis-it-user)


Alessandro Perego www.alspergis.altervista.org

Grazie per la condivisione dello script, anche commentato!
Martina

Il Lun 29 Apr 2019 20:45 Alessandro Perego <alsper78@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() + ‘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 :wink: )

Saluti a tutti

Mail priva di virus. www.avast.com

Il giorno gio 25 apr 2019 alle ore 20:59 alper78 <alsper78@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
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
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://lists.osgeo.org/mailman/listinfo/qgis-it-user)


Alessandro Perego www.alspergis.altervista.org


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

Grazie anche da parte mia.

Il giorno lun 29 apr 2019 alle ore 20:45 Alessandro Perego <alsper78@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() + ‘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 :wink: )

Saluti a tutti

Mail priva di virus. www.avast.com

Il giorno gio 25 apr 2019 alle ore 20:59 alper78 <alsper78@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
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
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://lists.osgeo.org/mailman/listinfo/qgis-it-user)


Alessandro Perego www.alspergis.altervista.org


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

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@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() + ‘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 :wink: )

Saluti a tutti

Mail priva di virus. www.avast.com

Il giorno gio 25 apr 2019 alle ore 20:59 alper78 <alsper78@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
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
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://lists.osgeo.org/mailman/listinfo/qgis-it-user)


Alessandro Perego www.alspergis.altervista.org


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Alessandro Perego www.alspergis.altervista.org

Effettivamente non mi viene mai in mente di fare un modello con un solo algoritmo, che invece in un caso così può essere utilissimo, tanto più che può essere salvato solo all’interno del progetto. Peraltro può essere utile anche nel caso inverso: esportare campi che invece non ci è utile visualizzare in tabella attributi di qgis (penso ad esempio alle coordinate di un layer punti)
Martina

Il Lun 29 Apr 2019 22:34 Alessandro Perego <alsper78@gmail.com> ha scritto:

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@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() + ‘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 :wink: )

Saluti a tutti

Mail priva di virus. www.avast.com

Il giorno gio 25 apr 2019 alle ore 20:59 alper78 <alsper78@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
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

_______________________________________________
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://lists.osgeo.org/mailman/listinfo/qgis-it-user)


Alessandro Perego www.alspergis.altervista.org


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Alessandro Perego www.alspergis.altervista.org


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user