Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. 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
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 23 | |
| 23 | |
| 20 | |
| 18 | |
| 14 |
| User | Count |
|---|---|
| 58 | |
| 51 | |
| 41 | |
| 30 | |
| 24 |