Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Ejecutar un script de Python externo desde Powerbi

Tengo un script externo de Python, este se ejecuta sin errores cuando ejecuto desde Python:

import pandas as pd
data = [['Alex',10],['Bob',12],['Clarke',13]]
df = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
print (df)

     Name   Age
0    Alex  10.0
1     Bob  12.0
2  Clarke  13.0

Al ejecutar este script desde la interfaz de PowerBI Python, no hay problemas:

Schermafbeelding 2022-03-05 om 11.24.37.png

Mi idea es ejecutar esto desde el escritorio de PowerBI como un archivo externo. ¿Por qué querría eso? Cuando el script está en mi disco puedo mantenerlo vía GIT sin tener que copiar y pegar el contenido:

let
	PythonFile = Text.FromBinary(File.Contents("c:\git\example.py")),
	Source = Python.Execute(PythonFile)
in
	Source

La inspiración proviene de: https://community.powerbi.com/t5/Desktop/Can-I-run-external-Python-scripts-in-Power-BI-desktop/m-p/2084822#M775602

Al hacer esto: Recibo un error de sangría:

Schermafbeelding 2022-03-05 om 11.22.34.png

Me resulta difícil depurar el error, ya que PythonScriptWrapper parece ser un cuadro negro (no puedo encontrarlo en el disco), cuando me refiero a un archivo no existente, el error será el mismo.

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    @johanvdk67 - Está bien, por lo que el problema no es el paso de Python, es la apertura del archivo binario. Debe tener un carácter divertido o un formato binario que confunda Power Query.

    ¿Podría abrir el archivo Example.Py en el Bloc de notas, de esta manera, el mío está funcionando?

    DarylLynchBzy_0-1646498467383.png

5 Replies

  • Hola @johanvdk67 . ¿Ha comprobado la configuración del firewall,

    DarylLynchBzy_1-1646480278061.png

    y ¿cómo es el resultado del paso "Text.FromBinary"?

    let
    Source = File.Contents("C:\Temp\python.py"),
    Custom1 = Text.FromBinary(Source)
    in
    Custom1

    DarylLynchBzy_0-1646480183094.png

  • niveles de privacidad: sin diferencia

    Text.FromBinary paso: mismo error de sangría

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      @johanvdk67 - Está bien, por lo que el problema no es el paso de Python, es la apertura del archivo binario. Debe tener un carácter divertido o un formato binario que confunda Power Query.

      ¿Podría abrir el archivo Example.Py en el Bloc de notas, de esta manera, el mío está funcionando?

      DarylLynchBzy_0-1646498467383.png

  • He elegido un enfoque "manual" a través del editor de powerquery, de alguna manera lo tengo funcionando ahora ..... Schermafbeelding 2022-03-07 om 08.21.52.png Trataré de averiguar qué es diferente y por qué mi enfoque inicial dio los errores de sangría.