Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Yidu en 22 Julio 2014, 19:42 pm



Título: [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV?
Publicado por: Yidu en 22 Julio 2014, 19:42 pm
Pues eso...abro un archivo CSV en Python y recorro sus líneas con un FOR. Creando un lista. Pero al final me sale la secuencia de escape del tabulador. Y yo no quiero que se vea '\t'

Código
  1. lineas = csv.reader(leer)
  2. for i in lineas:
  3.    lista.append(i)
  4. cont = 1
  5. for i in lista:
  6.    print('Lista ',cont,'=',i)
  7.    cont += 1
  8.  

SALIDA:

Lista  14 = ['10', '20', '30', '40', '50', '60\t\t\t\t\t'] # Las \t últimas no quiero que las muestre :(


Título: Re: [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV?
Publicado por: Godor en 25 Julio 2014, 03:26 am
Hola, espero que esto te sirva de ayuda.

Yo personalmente para borrar esas molestas '\t' haría lo siguiente.

Notar que lo siguiente es un caso genérico en caso que cada elemento i de tu lista tenga las '\t', de otra forma solo aplicar el método para el último termino de la lista.
Código
  1. l = ['10', '20', '30', '40', '50', '60\t\t\t\t\t']
  2. for i in range(len(l)):
  3.    l[i] = l[i].replace('\t','')

Ese codigo funcionaria en caso de que todos tus elementos de la lista tenga el molesto '\t'
Para el simple caso de cambiar solo el ultimo término, aplicar.
Código
  1. lista[-1] = lista[-1].replace('\t','')

Saludos


Título: Re: [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV?
Publicado por: Yidu en 25 Julio 2014, 16:39 pm
Muchas gracias. Pues sí, si que me sirve. No sé si habrá otro métodos. Incluso con el modulo CSV para que no salgan las secuencias de escape. Pero de momento, ya me sirve. Saludos!


Título: Re: [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV?
Publicado por: Eleкtro en 26 Julio 2014, 00:13 am
No sé si habrá otro métodos. Incluso con el modulo CSV para que no salgan las secuencias de escape.

Según la documentación del móduclo parece que no es posible: https://docs.python.org/2/library/csv.html

Puedes especificar el parámetro "escapechar='\t'" y éste eliminará el tab, pero éste solo tendrá efecto una vez, es decir, si hay más de un \tab no servirá para eliminarlos todos.

Saludos


Título: Re: [PYTHON] ¿Cómo eliminar las secuencias de escape en archivos CSV?
Publicado por: Yidu en 26 Julio 2014, 20:58 pm
Según la documentación del móduclo parece que no es posible: https://docs.python.org/2/library/csv.html

Puedes especificar el parámetro "escapechar='\t'" y éste eliminará el tab, pero éste solo tendrá efecto una vez, es decir, si hay más de un \tab no servirá para eliminarlos todos.

Saludos

Ok. Gracias...

Bueno, en cierto modo también es bueno que nos 'rompamos' la cabeza buscando soluciones a las funciones de los módulos. Si nos lo dieran todo mascado, igual la programación, perdería interés.

Un saludo!