Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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: 361

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: 713

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.

Hors ligne

 

#4 Tue 19 February 2019 09:13

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 256
Site web

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

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

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: 361

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: 987

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...

Hors ligne

 

Pied de page des forums

Powered by FluxBB