16 junio, 2021

REEMPLAZAR Y ELIMINAR ESPACIOS EN BLANCO CON PYTHON

Hola a todos!

Perdonad este que este fin de semana no haya publicado post, algunas veces el tiempo se echa encima y no hay forma de hacerlo.

En fin, publicaré hoy lo que tenía pensado publicar el viernes anterior. Se trata de reemplazar datos en una cadena de texto y de eliminar espacios en blanco con python.

Imaginad que tenemos estos datos con los siguientes espacios en blanco tanto a la derecha como a la izquierda:

y queremos eliminarlos en derecha e izquierda, luego solo en la parte derecha, luego en la parte izquierda y finalmente reemplazar la coma (,) por el punto y coma (;).

Para hacerlo vamos a utilizar la siguiente rutina:

import pandas as pd
import xlsxwriter
#Importamos archivo excel
df = pd.read_excel(r"C:\Users\USUARIO\OneDrive\Documents-Segu\ESPACIOS\ESPACIOS.xlsx",sheet_name='Hoja1')
count=0
workbook = xlsxwriter.Workbook(r'C:\Users\USUARIO\OneDrive\Documents-Segu\ESPACIOS\RESP_ESPACIOS.xlsx')
worksheet = workbook.add_worksheet('Hoja1')
MiArray=['SIN ESPACIOS', 'SIN ESPACIOS DERECHA', 'SIN ESPACIOS IZQUIERDA', 'REEMPLAZAR COMA']
#grabamos datos en archivo excel
for index, row in df.iterrows():
    #borrar espacios izquierda y derecha
    worksheet.write(count+1, 0, row[0].strip())
    #borrar espacios a la derecha
    worksheet.write(count+1, 1, row[0].rstrip())
    #borrar espacios a la izquierda
    worksheet.write(count+1, 2, row[0].lstrip())
    #reemplazar coma por punto y coma
    worksheet.write(count+1, 3, row[0].strip().replace(",", ";") )
    count += 1
    print(row[0])
#grabamos encabezados    
for columna, item in enumerate(MiArray):
    worksheet.write(0, columna, item)    
workbook.close()

Para eliminar los espacios tanto en la parte derecha como la izquierda, utilizamos el método .strip() que elimina los caracteres en blanco iniciales y finales.

Para eliminar los espacios en la parte derecha, utilizamos el método .rstrip() que elimina los caracteres en blanco a la derecha de la cadena.

Para eliminar los espacios en la parte izquierda, utilizamos el método .lstrip() que elimina los caracteres en blanco a la izquierda de la cadena.

Para reemplazar utilizamos el método .replace()

Nota: Respecto al método strip (y las otras dos variantes) podemos establecer opcionalmente, caracteres específicos a eliminar en lugar de espacios en blanco. Debemos especificarlos dentro del paréntesis. Por ejemplo:

sCadena = "...mi,,,amigo Mario//"
ejemplo = sCadena.strip(".mi,//")
print(ejemplo)

Para mostrar únicamente "amigo Mario" debemos indicar en el orden que se encuentran en la cadena los caracteres a eliminar.

Volviendo al tema principal, el resultado de aplicar el código es el siguiente:

Como habéis podido observar estoy utilizando Pandas para importar y xlsxwriter para exportar los datos. Y es interesante el tema de los encabezados y de cómo los podemos indicar utilizando un loop.

MiArray=['SIN ESPACIOS', 'SIN ESPACIOS DERECHA', 'SIN ESPACIOS IZQUIERDA', 'REEMPLAZAR COMA']
for columna, item in enumerate(MiArray):
    worksheet.write(0, columna, item)    
workbook.close()

Y esto es todo, espero que os sea de utilidad!.

Os dejo el archivo para practicar:

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies