1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
import psycopg2
import psycopg2.extras
import os
from qgis.core import *
from qgis.utils import iface
from PyQt4.QtCore import*
import processing
Host = serveur
DBname = bdd
schema = Schema
User = login
Password = mot_de_passe
Folder=Dossier
conn_string = "host='"+Host+"' dbname='"+DBname+"' user='"+User+"' password='"+Password+"'"
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
uri1='None'
EtiQuet = QgsVectorLayer(uri1,"EtiQuet","memory")
pr = EtiQuet.dataProvider()
EtiQuet.startEditing()
pr.addAttributes([QgsField("section",QVariant.String),QgsField("code_cb",QVariant.String),QgsField("capacite",QVariant.Int),QgsField("nb_etiq",QVariant.Int) ])
requete1 ="SELECT * FROM pm996.cb"
cursor.execute(requete1)
resultats = cursor.fetchall()
valeurs = []
valeurs.append(resultats)
i=0
for i in range (0,len(valeurs)):
feat=QgsFeature()
feat.setAttributes([valeurs[i][0],valeurs[i][1],valeurs[i][2],valeurs[i][3]])
pr.addFeatures([feat])
EtiQuet.commitChanges()
i=i+1
layer_sp=QgsMapLayerRegistry.instance().addMapLayer(EtiQuet)
QgsVectorFileWriter.writeAsVectorFormat(layer_sp, Folder+ '\\'+schema+'.xlsx', 'utf8', None, 'XLSX')
conn.commit()
cursor.close()
conn.close() |
Partager