← ClaudeAtlas

datadata-pythonlisted

本技能包含了 Datadata Python 查询脚本的完整参考文档,当编写 Datadata Python 查询脚本时,**必须先加载本技能**。 Write Python data query scripts for the Datadata platform — real Python (RustPython/WASM sandbox) with a Polars-style DataFrame/Series/Expr API, SQL data access via query(), and HTTP requests via fetch(). Use when the user needs to write data transformation, data cleaning, data generation, or custom data processing logic in Python.
datadata-team/datadata-skills · ★ 0 · Data & Documents · score 60
Install: claude install-skill datadata-team/datadata-skills
# Datadata Python 查询脚本编写 Python 查询脚本是 Datadata 平台与 SQL、DQL 并列的第三种查询脚本类型。它运行**真正的 Python**(RustPython 编译为 WebAssembly,在沙箱中执行),提供 **Polars 风格**的 `DataFrame` / `Series` / `Expr` 数据处理 API,并内置 SQL 取数(`query()`)与 HTTP 请求(`fetch()`)能力。 ## 🔴 核心规则 ### 1. 脚本必须定义 `main()` 函数 Python 脚本**必须定义一个可调用的 `main()` 函数**作为入口,`main()` 的返回值即查询结果。没有 `main()` 会直接报错。 ```python # ✅ 正确 def main(): df = query("SELECT * FROM users") return df # ❌ 错误:没有 main(),无法执行 df = query("SELECT * FROM users") ``` `main()` 可返回以下形态之一: - `DataFrame` — 直接转换为结果集(推荐) - `Series` — 转换为单列结果集 - `list[dict]` — 每个 dict 是一行 - `dict[str, list]` — **列式**,键是列名、值是等长的列表 > 若要返回若干标量汇总值,**包成单行 `list[dict]`**(如 `return [{'total': total, 'count': n}]`),因为顶层 dict 仅支持 `dict[str, list]` 列式形态。 ### 2. 编写前必须先阅读对应的 References 文档 **禁止仅凭本文档就编写代码。** 本文档只是索引,实际 API 签名、参数、返回值以 references 为准。 | 场景 | 必读文档 | | --- | --- | | SQL 取数 / HTTP 请求 / 参数 / 日志 | [builtins.md](./references/builtins.md) | | 数据转换 / DataFrame | [dataframe.md](./references/dataframe.md) | | Series 操作 | [series.md](./references/series.md) | | 表达式 / 列运算 / 字符串 / 日期时间 | [expr.md](./references/expr.md) | | 完整可运行示例 | [examples.md](./references/examples.md) | ### 3. API 签名的权威来源 所有函数 / 类的完整签名以 [`__builtins__.pyi`](./references/__builtins__.pyi) 为准,各 `.md` 文件仅为快速参考和示例说明。**严格按 `.pyi` 中声明的方法编写**——数据处理 API 是 Polars 风格,但只实现了 `.pyi` 中列出的子集。 ### 4. 注入的全局名称,无需 `import` `query`、`fetch`、`args`、`print`、`pl`、`DataFrame`、`Series` **都是注入到脚本作用域的全局名称,无需 `import`**。 标准库需要时可正常 `import`: