<div dir="ltr"><div>Muito obrigada Jorge :)</div><div>Já consegui correr o código todo e deu o resultado que queria.</div><div>A sua última sugestão foi bastante interessante.</div><div><br></div><div>Obrigada mais uma vez pela sua disponibilidade!</div><div><br></div><div>Patrícia Fernandes.</div><div> </div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-05-13 10:48 GMT+01:00 Jorge Samuel Mendes de Jesus <span dir="ltr"><<a href="mailto:jorge.mendesdejesus@wur.nl" target="_blank">jorge.mendesdejesus@wur.nl</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<br>
<br>
Ou entao um poico mais organizado e menos encavalitado<span><br>
<br>
import re<br>
for number in xrange(2,31+1):<br></span>
str1=re.sub(r'(_9)',"_%s" % number,
"D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx")<br>
str2=re.sub(r'(_9)',"_%s" %
number,"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9")<br>
<font color="#500050">processing.runalg("qgis:</font>joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp", str1, "EST", "num",
str2)<div><div class="h5"><br>
<br>
<br>
<br>
<br>
<div>On 13-05-15 11:44, Jorge Samuel Mendes
de Jesus wrote:<br>
</div>
<blockquote type="cite">
Bom dia<br>
<br>
<br>
No Problem, Eu ontem ja tinha pensado que devia ter feito o
exemplo com o codigo<br>
<br>
Basciamente seria algo assim<br>
<br>
<font color="#500050">processing.runalg(qgis:</font>joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",re.sub(r'(_9)',"_%s" %
number, "D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx") , "EST", "num", <br>
re.sub(r'(_9)',"_%s" %
number,"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9"))<br>
<br>
O re.sub passa a string ja modificadata para o processing.runalg.
Basicamente troca-se a parte da string original pelo codigo que
faz a substituicao do numero<br>
<br>
Tudo integrado seria:<br>
<br>
import re<br>
for number in xrange(2,31+1):<br>
<font color="#500050">processing.runalg("qgis:</font>joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",re.sub(r'(_9)',"_%s" %
number, "D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx") , "EST", "num", <br>
re.sub(r'(_9)',"_%s" %
number,"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9"))<br>
<br>
Ista solucao nao e' a mais optimizada mas deve funcionar. <br>
<br>
<br>
Espero que a resposta tenha ajudado, <br>
<br>
Jorge<br>
<br>
<div>On 13-05-15 11:30, Patrícia Pécurto
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Bom dia Jorge,</div>
<div><br>
</div>
<div>Desde já agradeço a sua disponibilidade para me ajudar.</div>
<div>Entendi a forma como devo substituir o "_9" no entanto
não entendi como integra-la no código processing.runalg() e
colocar tudo dentro do loop, substituindo a string de
alteração pelo código "re.sub".</div>
<div>Pode por pff. exemplificar para a minha primeira linha do
código:</div>
<div><br>
</div>
<div><font color="#500050">processing.runalg("qgis:</font>joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",
"D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx", "EST", "num",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9")<br>
</div>
<div><br>
</div>
<div>Obrigada pela atenção,</div>
<div><br>
</div>
<div>Patrícia Fernandes. </div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-05-12 21:28 GMT+01:00 Mendes de
Jesus, Jorge <span dir="ltr"><<a href="mailto:jorge.mendesdejesus@wur.nl" target="_blank">jorge.mendesdejesus@wur.nl</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">Assim de
cabeca, usando regular expressions<br>
<br>
<br>
import re<br>
for number in xrange(2,31+1):<br>
print re.sub(r'(_9)',"_%s" % number,
"D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx")<br>
<br>
Eu reparei que o 9 tem sempre um _ antes<br>
<br>
Este loop faz um print da string com do ficheiro com os
valores entre 2 e 31 onde o number 9 e' substituido pelos
numeros entre 2 e 31.<br>
<br>
No codigo com processing.runalg basta alterar a string de
alteracao pelo codigo re.sub e depois meter tudo dentro do
loop<br>
<br>
Alem tem uma outra idea ????<br>
<br>
Jorge de Jesus<br>
<br>
<br>
<br>
<br>
________________________________<br>
From: <a href="mailto:portugal-bounces@lists.osgeo.org" target="_blank">portugal-bounces@lists.osgeo.org</a>
<<a href="mailto:portugal-bounces@lists.osgeo.org" target="_blank">portugal-bounces@lists.osgeo.org</a>>
on behalf of Patrícia Pécurto <<a href="mailto:patricia.pecurto@gmail.com" target="_blank">patricia.pecurto@gmail.com</a>><br>
Sent: 12 May 2015 20:57<br>
To: <a href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a><br>
Subject: [Portugal] Como repetir um um script de python na
consola de python em QGIS<br>
<span><br>
Boa tarde,<br>
<br>
Sou nova utilizadora de linguagem python, e preciso de
ajuda na construção de um script que criei e que o
resultado final funciona, é o que eu necessito mas só
corre uma vez. A minha dúvida é a seguinte: se eu quiser
repetir este código todo mas em vez de ter o nº 9 a bold
tiver o mesmo script, substituindo o nº 9 pelos nºs 2,
3, 4,...,31 (inclusive). como devo proceder para não
ficar com um código demasiado grande e moroso de
construir.<br>
<br>
Obrigada.<br>
<br>
Patrícia Fernandes<br>
<br>
O código é o seguinte:<br>
</span><<a href="http://gis.stackexchange.com/questions/146979/how-to-create-loops-using-processing-algorithm-in-python-console-from-qgis#" target="_blank">http://gis.stackexchange.com/questions/146979/how-to-create-loops-using-processing-algorithm-in-python-console-from-qgis#</a>><br>
<span><br>
<br>
processing.runalg("qgis:joinattributestable",
"D:\PATRICIA\IG\QGIS\DIST_COSTA_etrs89.shp",
"D:\PATRICIA\DOCUMENTOS\ESTACOES METEOROLOGICAS\DADOS
METEOROLOGICOS\HR\H_1999_1_9.xlsx", "EST", "num",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9")<br>
<br>
processing.runalg("qgis:selectbyattribute",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp",
"H", 1, "NULL",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp")<br>
<br>
processing.runalg("qgis:saveselectedfeatures",
"D:\PATRICIA\IG\QGIS\FWI\HR\ETACOES_HR_1999_1_9.shp",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp")<br>
<br>
processing.runalg("qgis:selectbyattribute",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp",
"H", 1, "-999.9",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp")<br>
<br>
processing.runalg("qgis:saveselectedfeatures",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF_Int.shp",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF.shp")<br>
<br>
processing.runalg("saga:inversedistanceweighted",
"D:\PATRICIA\IG\QGIS\FWI\HR\ESTACOES_HR_1999_1_9_SF.shp",
"H", 0, 2, 0, 1, 100, 0, 0, 8, "-152444.0, 180000.0,
-302911.0, 280000.0", 100,
"D:\PATRICIA\IG\QGIS\FWI\HR\Python_HR_Viz8_Cell100_9")<br>
<br>
</span>_______________________________________________<br>
Portugal mailing list<br>
<a href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Portugal mailing list
<a href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a></pre>
</blockquote>
<br>
<pre cols="72">--
ISRIC - World Soil Information
Post: PO box 353, 6700 AJ, Wageningen,
The Netherlands Visiting Address: Droevendaalsesteeg 3, 6708 PB
Wageningen (Bdg. 101),
Office: C.013
Office Phone: +31 (0) 317 4 83715
Mobile Phone: +31 (0) 613 9 06950
OpenPGPKey: 0xA3D0065A</pre>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Portugal mailing list
<a href="mailto:Portugal@lists.osgeo.org" target="_blank">Portugal@lists.osgeo.org</a>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a></pre>
</blockquote>
<br>
<pre cols="72">--
ISRIC - World Soil Information
Post: PO box 353, 6700 AJ, Wageningen,
The Netherlands Visiting Address: Droevendaalsesteeg 3, 6708 PB
Wageningen (Bdg. 101),
Office: C.013
Office Phone: +31 (0) 317 4 83715
Mobile Phone: +31 (0) 613 9 06950
OpenPGPKey: 0xA3D0065A</pre>
</div></div></div>
<br>_______________________________________________<br>
Portugal mailing list<br>
<a href="mailto:Portugal@lists.osgeo.org">Portugal@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/portugal" target="_blank">http://lists.osgeo.org/mailman/listinfo/portugal</a><br></blockquote></div><br></div>