Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
I have an external python script, this runs without errors when I execute from 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
When executing this script from the PowerBI Python interface, no problems:
My idea is to execute this from PowerBI desktop as an external file. Why would I want that ? When the script is on my disk I can maintain it via GIT without having to copy paste the contents:
let
PythonFile = Text.FromBinary(File.Contents("c:\git\example.py")),
Source = Python.Execute(PythonFile)
in
Source
Inspiration comes from: https://community.powerbi.com/t5/Desktop/Can-I-run-external-Python-scripts-in-Power-BI-desktop/m-p/2...
When doing this: I get an indentation error:
I find it hard to debug the error, as the PythonScriptWrapper seems to be a black box (cannot find it on disk), when I refer to a non existing file, the error will be the same.
Solved! Go to Solution.
@johanvdk67 - Okay, so the issue is not the Python step, it is the opening of the Binary file. It must have a funny character or binary format that is confusing Power Query.
Could you open the Example.Py file in Notepad - like this - Mine is working.
Have chosen an "manual" approach via the powerquery editor, somehow I have it working now ..... I will try to figure out what is different and why my initial approach gave the indentation errors
privacy levels: no difference
Text.FromBinary step: same indentation error
@johanvdk67 - Okay, so the issue is not the Python step, it is the opening of the Binary file. It must have a funny character or binary format that is confusing Power Query.
Could you open the Example.Py file in Notepad - like this - Mine is working.
Hi @johanvdk67 . Have you checked the firewall settings,
and what does the result of the "Text.FromBinary" step look like?
let
Source = File.Contents("C:\Temp\python.py"),
Custom1 = Text.FromBinary(Source)
in
Custom1
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 40 | |
| 36 | |
| 34 | |
| 31 | |
| 27 |
| User | Count |
|---|---|
| 136 | |
| 103 | |
| 66 | |
| 65 | |
| 56 |