Hola a todos:
Hoy vamos a seguir con el ejercicio que ya he realizado en VBA, Power Query, Typescript y Typescript (actualización) y ahora en Python. Os recuerdo la base con la base con la que vamos a trabajar:
Os propongo utilizar la biblioteca de Pandas y el módulo Xlsxwriter, y que os muestro en el siguiente código que he escrito en Visual Studio Code:
import pandas as pd
import xlsxwriter
#Importamos archivo excel
df = pd.read_excel(r"C:\Users\USUARIO\OneDrive\Documents-Segu\FORMATEAR CON PYTHON\UTILIZANDO PYTHON CON PANDAS Y XLSXWRITER.xlsx",sheet_name='ORIGINAL')
count= 0
column= 0
#inidicamos ruta del archivo en el que vamos a exportar los datos
workbook = xlsxwriter.Workbook(r"C:\Users\USUARIO\OneDrive\Documents-Segu\FORMATEAR CON PYTHON\RESULTADO.xlsx")
worksheet = workbook.add_worksheet('Hoja1')
MiArray=['ID', 'EDAD','GENERO']
#Con un loop modificamos según las condiciones en cada columna
for index, row in df.iterrows():
#Formateamos edad
if row[3] < 18 : row[3]=""
elif row[3]<= 25:row[3]="18 a 25"
elif row[3]<= 35:row[3]="26 a 35"
elif row[3]<= 45:row[3]="36 a 45"
elif row[3]<= 55:row[3]="46 a 55"
elif row[3]<= 65:row[3]="56 a 65"
#Formateamos Sexo
if row[4] == "HOMBRE" : row[4]="MASCULINO"
elif row[4] == "MUJER": row[4]="FEMENINO"
else: "ERROR"
worksheet.write(count+1, 0, row[0])
worksheet.write(count+1, 1, row[3])
worksheet.write(count+1, 2, row[4])
count += 1
#Encabezados
for columna, item in enumerate(MiArray):
worksheet.write(0, columna, item)
workbook.close()
Como podéis observar estoy utilizando condicionales para realizar el formateo mientras ejecuto un loop recorriendo cada línea del dataframe.
Los encabezados los paso a un array que luego escribo con un for al final del proceso.
Los pasos del código son los habituales, importamos la información en un dataframe, lo recorremos y los modificamos según necesidades y finalmente exportamos los datos a otro archivo.
Y esto es todo, espero que sea de utilidad y os haya gustado.
¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.
¡¡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