技能 n8n-code-python
📦
n8n-code-python
安全
在 n8n 代码节点中编写 Python 代码
使用标准库函数在 n8n 中创建 Python 驱动的自动化工作流。了解 Python 代码节点的正确语法、数据访问模式和限制。
支持: Claude Codex Code(CC)
1
下载技能 ZIP
2
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
3
开启并开始使用
测试它
正在使用“n8n-code-python”。 转换所有项以添加已处理标志并将 name 字段大写
预期结果:
- Python Code 节点返回:[{"json": {"id": 1, "name": "ALICE", "processed": true}}, {"json": {"id": 2, "name": "BOB", "processed": true}}]
正在使用“n8n-code-python”。 计算具有 amount 字段的项的总和和计数
预期结果:
- Python Code 节点返回:[{"json": {"total": 150, "count": 5, "average": 30}}]
安全审计
安全v1 • 2/25/2026
Static analysis flagged 124 patterns but all are false positives. The SKILL.md file is documentation only, not executable code. Markdown code fences (```python) were incorrectly detected as shell backticks. URL references are documentation links. hashlib references show available standard library modules. No actual security risks exist.
1
已扫描文件
751
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude
质量评分
38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性
你能构建什么
自动化工作流中的数据转换
使用 Python 列表推导式和内置函数转换和聚合来自先前工作流节点的数据。
工作流数据的统计分析
使用 Python statistics 模块计算工作流数据的均值、中位数和标准差。
数据验证和清洗
使用正则表达式模式验证传入数据,并使用 .get() 方法进行安全的字典访问。
试试这些提示
基础 Python 代码节点设置
帮助我在 n8n 中创建一个处理传入项并为每个项添加时间戳字段的基础 Python 代码节点。
使用 Python 进行数据聚合
编写 n8n 的 Python 代码,计算所有输入项中 'amount' 字段的总和和平均值。
正则表达式模式提取
创建使用 n8n 代码节点中的正则表达式从文本字段提取电子邮件地址的 Python 代码。
具有错误处理的网络钩子数据处理
编写健壮的 n8n Python 代码,安全访问网络钩子主体数据并对缺失字段进行适当的错误处理。
最佳实践
- 始终使用 .get() 进行字典访问,以避免缺失字段时出现 KeyError
- 按所需格式返回数据:带有 'json' 键的字典列表
- 首先考虑 JavaScript - 仅在需要标准库函数时使用 Python
- 使用列表推导式高效过滤和转换项
避免
- 尝试导入外部库如 requests 或 pandas - 这些将失败并报 ModuleNotFoundError
- 返回字典而不包装在列表中 - n8n 需要 [{"json": ...}] 格式
- 直接通过 _json['field'] 访问网络钩子数据,而不是 _json['body']['field']
常见问题
我可以在 n8n 代码节点中使用外部 Python 库(如 requests 或 pandas)吗?
不行,n8n Python 代码节点仅支持标准库。对于 HTTP 请求,请在代码节点之前使用 HTTP 请求节点,或切换到具有 $helpers.httpRequest() 的 JavaScript。
Python 代码节点的正确返回格式是什么?
始终返回字典列表,每个字典都有一个 'json' 键。示例:return [{"json": {"field": "value"}}]
为什么我访问 _json['email'] 时网络钩子数据返回 KeyError?
网络钩子数据嵌套在 'body' 键下。通过 _json['body']['email'] 访问,或使用 _json.get('body', {}).get('email') 进行安全访问。
我应该为 n8n 代码节点使用 Python 还是 JavaScript?
JavaScript 建议用于 95% 的用例,因为它可以完全访问 n8n 辅助函数和 Luxon 日期库。仅在需要特定标准库函数时使用 Python。
如何在 Python 代码节点中访问先前节点的数据?
使用 _input.all() 获取所有项,_input.first() 获取第一个项,或使用 _node['NodeName']['json'] 引用特定节点的输出。
n8n 代码节点中可以使用哪些 Python 模块?
标准库模块包括 json、datetime、re、base64、hashlib、urllib.parse、math、random 和 statistics 都可用。