[Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
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":"P

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Eduard Diaz
Hola, Supongo que no quieres utilizar json [1], no? [1] https://docs.python.org/2/library/json.html ___ Python-es mailing list [email protected] https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel de Dios Matias
Y aunque sea menos optimo, usar JSON directamente y ya tienes la estructura de datos en Python como un hash para poder iterar con un "for". Saludos. 2014-06-03 11:22 GMT+02:00 Miguel Angel Rodriguez : > > Hola a todos, > > Estoy intentando parsear con Python una gran cadena que recibo en un > s

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
Lo que quiero es parsear esa cadena que indiqué. No uso Json, es una cadena. Quiero quedarme con un array en el cada elemento del array contenga [name,valor del name, value, valor del value] Por favor, ¿puedes revisar la expresion regular que puse en mi primer correo para ver si es correcta? Much

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Guillermo Vaya
Si es un json (como indica el ejemplo que pones) ¿por qué no usas alguna de las librerias de json para que lo parsee? A partir de ahi solo tienes que recorrerlo como una estructura de datos y coger aquello que quieras sin los lios inherentes a hacer tus propias expresiones regulares. On Tue, Jun

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Guillermo Vaya
como acabo de recibir el resto de correos que sugieren lo mismo que yo xD te recomiendo otra utilidad http://www.pythonregex.com/ con esa podras evaluar los resultados comodamente, ya que nadie excepto tu puede saber si la expresion es valida al no tener todos los posibles casos que te puedas enc

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
En principio necesito hacerlo con expresiones regulares. ¿Lo veis muy complicado? ¿No creeis que casi está con la expresion regular que indiqué en mi primer correo? El 3 de junio de 2014, 11:52, Guillermo Vaya escribió: > Si es un json (como indica el ejemplo que pones) ¿por qué no usas algu

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Andres Marin
Hola, Puedes hacer primero un split por la cadena "},{" eso te devolverá una lista iterable a la que puede, linea por linea, ir buscando la expresión \ "name\":"([\z\d]+)\".*\"value\"\:\"([\z\d]+)". Quizas debas hacer algunos ajustes, pero creo que te funcionara. Por otra parte, quien te manda lo

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Chema Cortes
El 3 de junio de 2014, 11:56, Miguel Angel Rodriguez escribió: > En principio necesito hacerlo con expresiones regulares. ¿Lo veis muy > complicado? > > No es que sea complicado, sólo buscamos cómo trabajar menos, como los buenos informáticos. > ¿No creeis que casi está con la expresion regular

Re: [Python-es] Analizar cadena y extraer valores

2014-06-03 Por tema Luis Iglesias
- Mensaje original - De: "Manuel A. Estevez Fernandez" Para: "La lista de python en castellano" Enviados: Lunes, 2 de Junio 2014 17:50:02 Asunto: Re: [Python-es] Analizar cadena y extraer valores Muchas gracias por tu aportación Luis, si me pudieras compartir tu código te lo agradecerí

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
Muchisimas gracias por vuestras aportaciones. Al final lo he solucionado un poco a la fuerza bruta. for channel_str in re.findall("\"name\":\"[A-Za-z0-9\-. ]+\",\"unit\":\"[A-Za-z0-9\-. ]+\",\"meta\":\"[A-Za-z0-9\-. ]+\",\"value\":\"[A-Za-z0-9\-. ]*\"",value_str): d_value = r

Re: [Python-es] Analizar cadena y extraer valores

2014-06-03 Por tema Manuel A. Estevez Fernandez
Muchas gracias, los voy a revisar. Saludos. by: ISC. Manuel Alejandro Estévez Fernández El 3 de junio de 2014, 5:50, Luis Iglesias escribió: > > - Mensaje original - > De: "Manuel A. Estevez Fernandez" > Para: "La lista de python en castellano" > Enviados: Lunes, 2 de Junio 2014 1

Re: [Python-es] Analizar cadena y extraer valores

2014-06-03 Por tema Juan BC
pdfminner El día 3 de junio de 2014, 12:07, Manuel A. Estevez Fernandez escribió: > Muchas gracias, los voy a revisar. > > Saludos. > > by: > > ISC. Manuel Alejandro Estévez Fernández > > > > El 3 de junio de 2014, 5:50, Luis Iglesias > escribió: >> >> >> - Mensaje original - >> De: "Man

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema gustavo
ejecutando esto: #!/usr/bin/python3 import re 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":"21

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema José Miguel P .
Hola, ¿Es siempre un json lo que recibes? Lo digo porque quizás puedes intentar decodificarlo como json ¿no? https://docs.python.org/2/library/json.html He comprobado la sintaxis de la cadena que pasas y es un formato válido de json: { "format":"JSON", "result":{ "devices":[

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Flavio Danesse
Voto por lo correcto que sería así: import os import json import codecs text = '{"format":"JSON","result":{"devices":[{"key":"SCGDE1BA:180340320", etc . . . path = "/tmp/x.json" archivo = open(path, "w") archivo.write(text) archivo.close() archivo = codecs.open(path, "r", "utf-8") diccionario

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
No entiendo que haces con archivo... Nunca he programado con json en python. ¿Como seria a partir de lo que indicas el parseo de los datos? Es decir, ¿Como seria el bucle que me iria dando el name y el value? 2014-06-03 22:08 GMT+02:00 Flavio Danesse : > Voto por lo correcto que sería así: >

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Flavio Danesse
Lo que hago es tomar el string que tienes y guardarlo en un archivo como texto plano pero luego lo cargo utilizando json con lo cual obtengo un diccionario python. Para obtener las keys y values del diccionario solo tienes que hacer diccionario.keys() y diccionario.values() o puedes hacer también d

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Flavio Danesse
Si quieres pasame un string de ejemplo que esté completo y dime que hacer con los values y te escribo la solución. El 3 de junio de 2014, 17:38, Flavio Danesse escribió: > Lo que hago es tomar el string que tienes y guardarlo en un archivo como > texto plano pero luego lo cargo utilizando json

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
Este es un ejemplo de lo que recibo: {"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

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Miguel Angel Rodriguez
Este es un ejemplo de lo que recibo: {"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",

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Flavio Danesse
ok, dame unos minutos, me pongo en esto y te aviso. El 3 de junio de 2014, 17:55, Miguel Angel Rodriguez escribió: > Este es un ejemplo de lo que recibo: > > {"format":"JSON","result":{"devices":[{"key":"SCGDE1BA:180340320","channels":[{"name":"PF","unit":"","meta":"PF","value":"1.000"},{"name"

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Jhonatan Sneider Salguero Villa
Hola, por lo que veo el json esta mal formado (o le falta una parte a la cadena), para poder parsearlo hay que eliminar la parte sobrante: import json # remover la parte sobrante json_string = json_string = string.replace(',"version":"1.0" ', '}') data = json.loads(json_string) # si la cadena

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Flavio Danesse
Solucionado, dejo adjunto. El 3 de junio de 2014, 19:56, Jhonatan Sneider Salguero Villa < [email protected]> escribió: > Hola, > > por lo que veo el json esta mal formado (o le falta una parte a la > cadena), para poder parsearlo hay que eliminar la parte sobrante: > > import json > > # remove

[Python-es] Micro Python, implementación pequeña y eficiente de Python 3

2014-06-03 Por tema Carlos Zuniga
La noticia: https://mail.python.org/pipermail/python-list/2014-June/672994.html Probablemente la idea de aplicaciones Python en dispositivos Android deje de ser tan inviable ahora :) Saludos -- A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales.

Re: [Python-es] Expresiones regulares

2014-06-03 Por tema Carlos Zuniga
2014-06-03 4:56 GMT-05:00 Miguel Angel Rodriguez : > En principio necesito hacerlo con expresiones regulares. ¿Lo veis muy > complicado? Se puede saber por qué? 2014-06-03 15:13 GMT-05:00 Miguel Angel Rodriguez : > > Nunca he programado con json en python. No hay mejor razón para comenzar ahora