elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Ayuda con expresiones regulares [Python]
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con expresiones regulares [Python]  (Leído 5,386 veces)
wolvelopez

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Ayuda con expresiones regulares [Python]
« en: 26 Julio 2011, 15:44 pm »

Hola compañeros.
Estoy desarrollnado en python una pequeña aplicacion pero llevo atascado un tiempo con esto.
Tengo un fichero .txt con 3 columnas de este tipo:

Codigo    Categoria    Subcategoria
0001      HDXC         LAMP4JIR
0002      JHFD          HH876GJ

Me conecto bien al fichero y con readline() obtengo la cadena pero dentro de la cadena necesito separar las columnas y obterner por separado los 3 valores que se presentan. He probado con find() pero no veo la manera.
Si alguien mas avispao en expresiones regulares o cadenas me ayuda le estaría agradecido.
Gracias.


« Última modificación: 26 Julio 2011, 21:07 pm por Leo Gutiérrez. » En línea

"La revolución es algo que se lleva en el alma, no en la boca para vivir de ella."
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda con expresiones regulares
« Respuesta #1 en: 26 Julio 2011, 15:50 pm »

Se supone que dichas columnas estan separadas por espacios o tabulaciones, por lo cual puedes utilizar split
http://docs.python.org/library/stdtypes.html#str.split

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
wolvelopez

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: Ayuda con expresiones regulares
« Respuesta #2 en: 26 Julio 2011, 19:22 pm »

Son tabulaciones.
Estoy mirando lo que me has pasado haber si consigo enterarme de las expresiones regulares.
Gracias.
En línea

"La revolución es algo que se lleva en el alma, no en la boca para vivir de ella."
Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda con expresiones regulares
« Respuesta #3 en: 26 Julio 2011, 19:25 pm »

En ningún momento te he recomendado expresiones regulares, sino simplemente un método.

Código
  1. cadena = 'esto es una cadena separada por espacios'
  2. miarray = cadena.split(' ')

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
wolvelopez

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: Ayuda con expresiones regulares
« Respuesta #4 en: 26 Julio 2011, 20:29 pm »

Perdona Novlucker llevas razón.
Es que mas tarde estuve leyendo sobre expresiones regulares porque resulta que algunas veces tengo una tabulacion y otras 2 o 3 tabulaciones. Depende de como me pasen el fichero.
En línea

"La revolución es algo que se lleva en el alma, no en la boca para vivir de ella."
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Ayuda con expresiones regulares [Python]
« Respuesta #5 en: 26 Julio 2011, 23:52 pm »

Pero el número de tabulaciones son generales por archivo o por linea, es decir, en el archivo1.txt la tabulación es de 1 en todos los registros, pero en archivo2.txt la tabulación es de 3?
En línea

Te vendería mi talento por poder dormir tranquilo.
wolvelopez

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: Ayuda con expresiones regulares [Python]
« Respuesta #6 en: 27 Julio 2011, 00:03 am »

No, en el archivo1.txt la tabulacion entre una columna y otra puede ser de 2 tabulaciones y entre otras 2 columnas puede ser de 1 tabulacion, ej:
columna1    columna2                columna3
------------------------------------------------
dato           dato                       dato

Las tabulaciones me va variando dependiendo de los archivos que me van pasando.
Muchas gracias.
En línea

"La revolución es algo que se lleva en el alma, no en la boca para vivir de ella."
wolvelopez

Desconectado Desconectado

Mensajes: 19



Ver Perfil
Re: Ayuda con expresiones regulares [Python]
« Respuesta #7 en: 27 Julio 2011, 15:53 pm »

Solucionado:
Código:
valores = re.findall("([^\s]*)\s*", linea)[ : -1 ]
Muchas gracias.
En línea

"La revolución es algo que se lleva en el alma, no en la boca para vivir de ella."
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Expresiones regulares --->(Python)[Resuelto]
Scripting
¨°o.O (ßa¢Kg|姧) O.o° 2 4,871 Último mensaje 29 Marzo 2010, 02:21 am
por Novlucker
[ayuda][python]problema con expresiones regulares
Scripting
daryo 3 2,553 Último mensaje 16 Enero 2014, 04:38 am
por Once
Ayuda expresiones regulares.
Scripting
AlejandroPrz 1 1,926 Último mensaje 11 Febrero 2014, 14:00 pm
por fary
Ayuda con python, expresiones regulares y urllib
Scripting
madoko 6 3,143 Último mensaje 2 Diciembre 2015, 00:14 am
por madoko
[PYTHON ]Ayuda expresiones regulares
Python
aangrymasther 1 3,072 Último mensaje 20 Diciembre 2022, 16:29 pm
por aangrymasther
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines