Pages: 1
- Sujet précédent - QGIS: Création script python d'export de table d'attributs vers XLS - Sujet suivant
#1 Mon 18 February 2019 19:45
- Godweak
- Juste Inscrit !
- Date d'inscription: 18 Feb 2019
- Messages: 3
QGIS: Création script python d'export de table d'attributs vers XLS
Bonjour,
Tout est dans le titre, je souhaite crée un script python qui aura pour usage d'exporter des éléments de la tables d'attributs vers Excel. (en format CSV)
J'ai de bonnes connaissances en langage python et un peu sur QGIS, mais je ne sais pas vraiment par où commencer... J'ai lu le cookbook QGIS, cependant il ne m'est pas vraiment très explicite, et de ce que j'ai vu jusqu'à présent il n'y a pas tellement de documentations pour les développeurs...
Par la même occasion, je sais qu'il existe des plugins existants faisant le boulot, type mmqgis etc, mais je souhaite faire ce script moi-même.
Merci d'avance ! :-)
Hors ligne
#2 Mon 18 February 2019 20:35
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 404
Re: QGIS: Création script python d'export de table d'attributs vers XLS
bonsoir
Grâce à ce forum j'ai pu créer cette macro dont le but est de créer exporter un csv d'une ou plusieurs tables à la fermeture d'un projet, de manière automatique, l'idée étant de sauvegarder les versions successives de chaque couche ...
je ne sais pas pourquoi mais elle ne fonctionne plus lorsque je suis passé sur le 3.x. ... même la question de l'indentation n'a pas résolu mon problème
mais si tu t'y connais en Python peut être y arriveras-tu ...
https://georezo.net/forum/viewtopic.php?pid=311720
LJ
Hors ligne
#3 Tue 19 February 2019 08:22
- chanteclair
- Participant assidu
- Lieu: Pau
- Date d'inscription: 3 Jan 2007
- Messages: 726
Re: QGIS: Création script python d'export de table d'attributs vers XLS
Bonjour,
Vous pouvez aussi vous appuyer sur le plugin QuickExport (https://github.com/3liz/QgisQuickExportPlugin)qui permet d'exporter les données attributaires en csv, html...
Cordialement.
En ligne
#4 Tue 19 February 2019 09:13
Re: QGIS: Création script python d'export de table d'attributs vers XLS
laurent00
QGIS 3, c'est QT5, une API QGIS remaniée et python3, il faut retoucher les plugins et codes python qui ne fonctionnent pas directement de la 2 à la 3. Le changement est souvent mineur (sauf pour certaines parties du code QGIS), il y a une documentation exhaustive ici https://github.com/qgis/QGIS/wiki/Plugi … -to-QGIS-3
Régis
Hors ligne
#5 Tue 19 February 2019 18:04
Re: QGIS: Création script python d'export de table d'attributs vers XLS
Bonjour,
Ce script fonctionne sous QGIS 3 pour un export en ODS :
Code:
# -*- coding: utf-8 -*- def export_as_ods(layerName, outputFilePath) : layer = QgsProject.instance().mapLayersByName(layerName)[0] writer = QgsVectorFileWriter.writeAsVectorFormat(layer, outputFilePath, layer.dataProvider().encoding(), layer.crs(), "ODS") export_as_ods('ma_couche', 'C:/temp/ma_couche.ods')
et en Excel :
Code:
# -*- coding: utf-8 -*- def export_as_xlsx(layerName, outputFilePath) : layer = QgsProject.instance().mapLayersByName(layerName)[0] writer = QgsVectorFileWriter.writeAsVectorFormat(layer, outputFilePath, layer.dataProvider().encoding(), layer.crs(), "XLSX") export_as_ods('ma_couche', 'C:/temp/ma_couche.xlsx')
geodata au cerema et petits billets en géomatique
Hors ligne
#6 Tue 19 February 2019 18:31
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 404
Re: QGIS: Création script python d'export de table d'attributs vers XLS
merci je vais mettre à jour ma macro ...
LJ
Hors ligne
#7 Wed 20 February 2019 10:04
- Godweak
- Juste Inscrit !
- Date d'inscription: 18 Feb 2019
- Messages: 3
Re: QGIS: Création script python d'export de table d'attributs vers XLS
Bonjour,
Merci pour vos réponses.
@MathieuR, merci pour ce script il va m'être bien utile.
Par ailleurs existe-il un topic qui recense les différents scripts python utilisables pour QGIS?
Merci.
Hors ligne
#8 Wed 20 February 2019 10:22
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1095
Re: QGIS: Création script python d'export de table d'attributs vers XLS
Code:
Code: # -*- coding: utf-8 -*- def export_as_xlsx(layerName, outputFilePath) : layer = QgsProject.instance().mapLayersByName(layerName)[0] writer = QgsVectorFileWriter.writeAsVectorFormat(layer, outputFilePath, layer.dataProvider().encoding(), layer.crs(), "XLSX") export_as_xlsx('ma_couche', 'C:/temp/ma_couche.xlsx')
Pour l'export XLSX, j'ai juste corriger la coquille...
En ligne
Pages: 1
- Sujet précédent - QGIS: Création script python d'export de table d'attributs vers XLS - Sujet suivant