[Python-es] Expresiones regulares

Miguel Angel Rodriguez marodal en gmail.com
Mar Jun 3 11:22:50 CEST 2014


Hola a todos,

Estoy intentando parsear con Python una gran cadena que recibo en un
software de comunicaciones que estoy programando.

La cadena que yo recibo es la siguiente:

value_str =
{"format":"JSON","result":{"devices":[{"key":"SCGDE1BA:180340320","channels":[{"name":"PF","unit":"","meta":"PF","value":"1.000"},{"name":"P-WSpt","unit":"kW","meta":"P-WSpt","value":"935"},

{"name":"Vac","unit":"V","meta":"Vac","value":"217.5"},{"name":"Iac","unit":"A","meta":"Iac","value":"513.8"},{"name":"Pac","unit":"kW","meta":"Pac","value":"335.2"},{"name":"Qac","unit":"kV

Ar","meta":"Qac","value":"-1.0"},{"name":"Sac","unit":"kVA","meta":"Sac","value":"335.1"},{"name":"Fac","unit":"Hz","meta":"Fac","value":"49.950"},{"name":"ErrNoFirst","unit":"","meta":"ErrNoFirst","value":"0"},{"

name":"P-WModFailStt","unit":"","meta":"P-WModFailStt","value":"Off"},{"name":"P-WModStt","unit":"","meta":"P-WModStt","value":"Off"},{"name":"Dsc","unit":"","meta":"Dsc","value":"---"},{"name":"Firmware-9","unit":"","meta":"Firmware-9","value":"
"},{"name":"Cntry","unit":"","meta":"Cntry","value":"DE1"}
,{"name":"Type","unit":"","meta":"Type","value":"SCG"},{"name":"Mode","unit":"","meta":"Mode","value":"Operation"},{"name":"Error","unit":"","meta":"Error","value":"---"}]}]},"version":"1.0"


Yo solo quiero quedarme con los name y value existente.

LA forma en la que lo estoy intentando es la siguiente:

for channel_str in re.findall("\"name\":\"[A-Za-z0-9\-.
]+\",\"value\":\"[A-Za-z0-9\-. ]*\"",value_str):
            d_value = re.findall("[A-Za-z0-9.\-]+",channel_str)

Pero de esta forma no entra en el for.

¿Alguien me puede ayudar?

Gracias y un saludo






-- 
Miguel Ángel Rodríguez de Alba
678304435
marodal en gmail.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20140603/f1419330/attachment.html>


Más información sobre la lista de distribución Python-es