使用 RunPy 导入外部库
ToolJet 允许您通过使用 RunPy 查询 导入它们来在您的应用程序中使用 python 包。 在本操作指南中,我们将导入一些包并在应用程序中使用它。
:::注意不支持的模块 Pyodide 当前不支持的模块是那些具有依赖于系统库的 C 或 C++ 扩展的模块。这些模块不能在 Pyodide 中使用,因为它在 Web 浏览器中运行,无法访问 C 或 C++ 扩展所依赖的底层系统库。此外,Pyodide 使用已编译为 WebAssembly 的 Python 版本,它不支持与常规版本的 Python 相同的系统调用。因此,任何需要访问系统库或系统调用的模块都无法在 Pyodide 中运行。 :::
创建一个新的应用程序,然后从查询面板创建一个新的 RunPy 查询。
让我们编写一些代码来导入包。我们将首先导入 micropip,它是 Python 的软件包安装程序,然后我们将使用 micropip 安装
Pandas
和NumPy
。 运行 查询以安装包。import micropip
await micropip.install('pandas')
await micropip.install('numpy')
提示
启用 Run this query on application load? 选项以使包在整个应用程序中可用。
例子
使用 NumPy 的随机数数组
让我们创建一个 RunPy 查询,它将使用 NumPy 包中的 random 模块,查询将生成随机数数组。
from numpy import random
x = random.binomial(n=10, p=0.5, size=10)
print(x)
信息
您可以在浏览器的控制台上检查输出。
解析 CSV 数据使用
让我们创建一个 RunPy 查询,它将解析 csv 文件中的数据。在此查询中,我们将使用
StringIO
、csv
和Pandas
模块。from io import StringIO
import csv
import pandas as pd
scsv = components.filepicker1.file[0].content
f = StringIO(scsv)
reader = csv.reader(f, delimiter=',')
df = pd.DataFrame(reader)
print(df.info())
print(df)在画布上添加一个文件选择器组件,并将On file loaded事件的事件处理程序设置为我们为解析数据而创建的Run Query。
最后,让我们在文件选择器上加载一个 csv 文件,并通过浏览器控制台上的 RunPy 查询检查输出。