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 nowJuly 28 - August 9 | Final Round of the Power BI Dataviz World Championships. This is your chance. 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
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
If you love stickers, then you will definitely want to check out our community sticker challenge, Barcelona edition!
Check out the July 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 31 | |
| 28 | |
| 24 | |
| 24 | |
| 19 |
| User | Count |
|---|---|
| 44 | |
| 32 | |
| 18 | |
| 17 | |
| 16 |