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

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 < sney2...@gmail.com> 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

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
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 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 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 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 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 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
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 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 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 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] 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] 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 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 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 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 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 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 Eduard Diaz
Hola, Supongo que no quieres utilizar json [1], no? [1] https://docs.python.org/2/library/json.html ___ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/

[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

2013-05-31 Por tema Ricardo Azpeitia Pimentel
Realmente no es tanto problema de python es que tu expresión regular esta mal formada. Te recomiendo leer algún tutorial de expresiones regulares. *import re* * * *pattern = re.compile(r"([0-9]*)\s*(PALLETS|PALLET|BULTOS|BULTO|CAJAS|CAJA|UNIDADES|UNIDAD|CARTONES|CARTON)") * * * *assert pattern.mat

[Python-es] Expresiones regulares

2013-05-31 Por tema Manuel A. Estevez Fernandez
Saludos a todos Debo extraer ciertos datos de un campo de texto los cuales pueden aparecer en cualquier parte de la cadena. Dicho datos son por ejemplo: 50 PALLETS, 10 CAJAS, etc. Estoy haciendo la siguiente expresion regular para buscarlo [0-9]*\s*[PALLET[S]|BULTO[S]|CAJA[S]|UNIDAD[ADES]|CARTO

Re: [Python-es] Expresiones regulares: repeticiones de dos caracteres con longitud constante

2012-08-22 Por tema Jesús Curbelo Rodríguez
El 22/08/2012 12:05, Chema Cortes escribió: El día 22 de agosto de 2012 12:11, Jesús Curbelo Rodríguez escribió: La idea era que N apareciese explícitamente en la expresión regular. Pero me temo que es imposible sólo con expresiones regulares así que la solución que propones debe ser la c

Re: [Python-es] Expresiones regulares: repeticiones de dos caracteres con longitud constante

2012-08-22 Por tema Chema Cortes
El día 22 de agosto de 2012 12:11, Jesús Curbelo Rodríguez escribió: > La idea era que N apareciese explícitamente en la expresión regular. > Pero me temo que es imposible sólo con expresiones regulares así que la > solución que propones debe ser la correcta. "^(A|(B(?!A))){{{}}}$".format(N

Re: [Python-es] Expresiones regulares: repeticiones de dos caracteres con longitud constante

2012-08-22 Por tema Jesús Curbelo Rodríguez
El 22/08/2012 10:56, Juan Ignacio escribió: ¿Podría valerte este? ^A+B*$|^A*B+$ Tendrías que comprobar en un test aparte que la longitud del string es N 2012/8/22 Jesús Curbelo Rodríguez > Hola a todos, Me ha surgido una duda intentando crear una expresi

Re: [Python-es] Expresiones regulares: repeticiones de dos caracteres con longitud constante

2012-08-22 Por tema Juan Ignacio
¿Podría valerte este? ^A+B*$|^A*B+$ Tendrías que comprobar en un test aparte que la longitud del string es N 2012/8/22 Jesús Curbelo Rodríguez > Hola a todos, > > Me ha surgido una duda intentando crear una expresión regular. > > Supongamos que tenemos una lista de cadenas que cumplen las sig

[Python-es] Expresiones regulares: repeticiones de dos caracteres con longitud constante

2012-08-22 Por tema Jesús Curbelo Rodríguez
Hola a todos, Me ha surgido una duda intentando crear una expresión regular. Supongamos que tenemos una lista de cadenas que cumplen las siguientes condiciones * La longitud de las cadenas es constante, digamos que de longitud N. * Las cadenas están formadas sólo por los caracteres A y B.

Re: [Python-es] Expresiones regulares por grupo

2011-02-11 Por tema lopz
> Te había respondido a tu pregunta: si juntas los tres grupos con .*? tendrás > todo en una sóla expresión: > > """(?s)q=(.*?)[&"].*?(\d{4}-\d{2}-\d{2}).*?(.*?)""" > Uhmm juraría que antes de preguntar a la lista lo intenté de esta forma, con .+? y .*? pero sin resultados pero que bueno saber que

Re: [Python-es] Expresiones regulares por grupo

2011-02-11 Por tema Chema Cortes
En Thu, 10 Feb 2011 14:42:36 +0100, lopz escribió: El día 10 de febrero de 2011 04:50, Chema Cortes escribió: Si sabes que los tres patrones de búsqueda van a ir en ése orden, se podrían encadenar: pat1="""q=(.*?)[&"]""" pat2="(\d{4}-\d{2}-\d{2})" pat3="""(.*?)""" pat=re.compile(".*?".jo

Re: [Python-es] Expresiones regulares por grupo

2011-02-10 Por tema lopz
Luis miguel Morrillas y andsux gracias por las respuestas, mi pregunta ha ido dirigida exclusivamente para usar expresiones regulares (y es que así lo quiero hacer) y en el caso de usar algun parser sería para algo "más grande" u obtención de muchos datos. Yo estoy haciendo algo pequeño, siempre he

Re: [Python-es] Expresiones regulares por grupo

2011-02-10 Por tema Chema Cortes
El día 10 de febrero de 2011 02:46, lopz escribió: > Sabría hacerlo por partes, primero un datos luego el otro y así, pero > mi idea es hacerlo en una sola expresión y obtenerlo por grupos Igual es que ése es el modo, buscar cada patrón por separado. En general, el módulo re es bastante rápido c

Re: [Python-es] Expresiones regulares por grupo

2011-02-09 Por tema Andrey Antoukh
Opino lo mismo, y lxml en mi caso ha sido una herramienta maravillosa. Un saluso. El día 10 de febrero de 2011 07:12, Luis Miguel Morillas escribió: > El día 10 de febrero de 2011 02:46, lopz escribió: >> Hola >> >> Hace poco empecé son las expresiones regulares y estaba tratando de >> usarlas

Re: [Python-es] Expresiones regulares por grupo

2011-02-09 Por tema Luis Miguel Morillas
El día 10 de febrero de 2011 02:46, lopz escribió: > Hola > > Hace poco empecé son las expresiones regulares y estaba tratando de > usarlas y tengo un pequeño problema al momento de > parsear un html que extraigo de una página web, la idea es la > siguiente, de un trozo de código html quiero extra

[Python-es] Expresiones regulares por grupo

2011-02-09 Por tema lopz
Hola Hace poco empecé son las expresiones regulares y estaba tratando de usarlas y tengo un pequeño problema al momento de parsear un html que extraigo de una página web, la idea es la siguiente, de un trozo de código html quiero extraer datos pero de diferentes líneas para esto hago uso de los gr