#1 Fri 23 April 2021 09:51
- laboetie
- Juste Inscrit !
- Date d'inscription: 13 Oct 2017
- Messages: 3
QGIS: export xlsx en python
Bonjour,je cherche à exporter en xlsx quelques champs d'une couche.
J'arrive à exporter la totalité de la couche mais je n'arrive pas
à faire une sélection que de certains champs.
def export_csv(self) :
layer = QgsProject.instance().mapLayersByName("NOM DE LA COUCHE")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "C:/CHEMIN.xlsx", layer.dataProvider().encoding(), layer.crs(), "XLSX")
Merci de votre aide.
Hors ligne
#2 Fri 23 April 2021 11:46
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
Re: QGIS: export xlsx en python
Bonjour,
Une solution un peu brouillon,
dupliquer le layer,
supprimer les colonnes qui ne sont pas nécessaires sur ce nouveau layer,
exporter ce nouveau layer
supprimer ce nouveau layer
Hors ligne
#3 Fri 23 April 2021 12:27
Re: QGIS: export xlsx en python
Bonjour,
Une recette pour choisir les colonnes ci-dessous.
J'ai pris la méthode "writeAsVectorFormatV2" plutôt que "writeAsVectorFormat" qui est dépréciée (va disparaître dans les prochaines versions de QGIS)
Code:
layer = QgsProject.instance().mapLayersByName("NOM DE LA COUCHE")[0] # layer = iface.activeLayer() # Si vous voulez tester directement depuis la couche vecteur sélectionnée vectorOptions = QgsVectorFileWriter.SaveVectorOptions() vectorOptions.driverName = 'XLSX' vectorOptions.fileEncoding = layer.dataProvider().encoding() cols = ['nom_col1', 'nom_col2'] field_indexes = [layer.dataProvider().fields().indexFromName(i) for i in cols] vectorOptions.attributes = field_indexes context = QgsProject.instance().transformContext() mypath = "C:/CHEMIN.xlsx" write_result, error_message = QgsVectorFileWriter.writeAsVectorFormatV2(layer, mypath, context, vectorOptions)
Cordialement
Dernière modification par ThomasG (Fri 23 April 2021 17:49)
Hors ligne
#4 Fri 23 April 2021 14:11
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
Re: QGIS: export xlsx en python
Merci pour la solution
Hors ligne