ETL con Python
Power BI
Pablo Roncagliolo
pablo.roncagliolo@uv.cl
PowerBi tiene la opción de incorporar un script de Python directamente al momento de recargar los datos.
Sin embargo, sólo se recomienda cuando el script está consolidado o estable.
En la etapa de desarrollo o validación del script no tiene sentido incorporarlo en PowerBI pues la gestión de los errores no es “amigable”.
python.org
cd..
cd Python/../Scripts
pip install numpy
pip install matplotlib
pip install pandas
Instalación de versión básica de Python
Habilitar Python en Power BI
Ejecutar Script de Python
Script: Crea dataframe Pandas y guarda csv
import pandas
#***************************
TABLA=[]
TABLA.append([1,"A1","B1","C1"])
TABLA.append([2,"A2","B2","C2"])
df_TABLA = pandas.DataFrame(TABLA)
df_TABLA.columns = ['row', 'COL_A', 'COL_B', "COLC"]
print(df_TABLA)
df_TABLA.to_csv("TABLA.csv",index=False,sep=";")
Ejercicio N°1
PASO 1: Copiar Script
PASO 2: Cargar dataframe
PASO 3: Visualizar Tabla en PowerBI
Script: Carga algunas columnas de archivo XLS o CSV
import pandas
#***************************
path="C:\\Users\\pablo\\Desktop";
arch=”BD_ESTABLECIMIENTOS_DEIS_2023.csv”
file=path+"\\"+arch
df = pandas.read_csv(file,sep=";")
n=len(df)
print(df)
for i in range(len(df)):
print([df["Código Vigente"][i], df["Nombre Región"][i], df["Nombre Oficial"][i]])
Ejercicio N°2
Script: Transforma algunas columnas y crea dataframe para PowerBI
import pandas
#***************************
path="C:\\Users\\pablo\\Desktop";
arch="Establecimientos_ChileDEIS_MINSAL.csv"
df = pandas.read_csv(path+"\\"+arch,sep=";") #.read_excel( ) para archivos xlsx
SUBTABLA=[]
for i in range(len(df)):
s=df["Nombre Región"][i]
s2=s[6:len(s)].upper()
s2=s2.replace("Á","A")
s2=s2.replace("É","E")
s2=s2.replace("Í","I")
s2=s2.replace("Ó","O")
s2=s2.replace("Ú","U")
SUBTABLA.append([df["Código Vigente"][i],s2, df["Nombre Oficial"][i]])
df_SUBTABLA = pandas.DataFrame(SUBTABLA)
df_SUBTABLA.columns = ['COD', 'REGION_NORMALIZADA', 'Nombre']
print(df_SUBTABLA)
df_SUBTABLA.to_csv("SUBTABLA.csv",index=False,sep=";")
Ejercicio N°3
Campo “REGION_NORMALIZADA”:
Sin el prefijo “Región”, mayúsculas y sin acentos
Resultado Ejercicio N°3