n8n-code-python
用n8n代码节点写Python代码。在用n8n编写Python,使用_input/_json/_node语法,使用标准库,或者需要了解n8n代码节点中的Python限制时使用。
作者
分类
开发工具安装
热度:4
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-n8n-code-python&locale=zh&source=copy
n8n-code-python - n8n Python 代码节点完整指南
技能概述
为 n8n 工作流中的 Code 节点提供 Python 代码编写指导,涵盖数据访问模式、标准库使用、常见错误预防以及 Python 与 JavaScript 的选择建议。
适用场景
1. 需要使用 Python 标准库的数据处理
当工作流需要统计分析、正则表达式处理、哈希加密等 Python 标准库功能时,Python Code 节点是理想选择。支持的模块包括 json、datetime、re、base64、hashlib、urllib.parse、math、random 和 statistics。
2. 开发者更熟悉 Python 语法
对于 Python 背景的开发者,使用列表推导式、字典操作等 Python 特性进行数据转换会更加自然高效。适合批量数据过滤、聚合计算、字符串处理等场景。
3. 数据验证和统计分析
需要使用 Python 的 statistics 模块进行平均值、中位数、标准差计算,或进行复杂的数据验证逻辑时,Python Code 节点可以简洁地实现这些需求。
核心功能
1. 数据访问模式指导
详细说明
_input.all()、_input.first() 和 _input.item 三种数据访问方式的使用场景,以及 Webhook 数据通过 _json["body"] 访问的关键注意事项。涵盖 Python (Beta) 和 Python (Native) 两种模式的区别,帮助开发者选择合适的执行模式。2. 外部库限制与标准库参考
明确说明 n8n Python 环境无法导入 requests、pandas、numpy 等外部库的限制,并提供可用的 Python 标准库完整参考。包含 HTTP 请求、数据分析、网页抓取等常见需求的替代方案。
3. 常见错误预防
列出 Top 5 常见错误及其解决方案:导入外部库、缺失返回语句、错误的返回格式、字典访问 KeyError、Webhook 数据嵌套问题。提供正确的代码模板和最佳实践建议。
常见问题
n8n Code 节点应该选择 Python 还是 JavaScript?
建议 95% 的情况使用 JavaScript。JavaScript 提供完整的 n8n 辅助函数(如 $helpers.httpRequest())、Luxon DateTime 高级日期时间操作、更好的文档支持和社区资源。
仅在以下情况选择 Python:
n8n Python 代码节点可以使用哪些库?
只能使用 Python 标准库,无法导入任何第三方库。
可用的标准库模块包括:
不支持:requests、pandas、numpy、scipy、BeautifulSoup、lxml 等常用第三方库。
n8n 中 _input.all()、_input.first() 和 _input.item 有什么区别?
三种数据访问方式对应不同的使用场景:
_input.all():获取所有输入项,适用于批量处理、聚合计算、过滤转换等场景(最常用)_input.first():仅获取第一个输入项,适用于单对象处理、API 响应处理_input.item:仅在"Run Once for Each Item"模式下可用,表示当前循环中的项选择"Run Once for All Items"模式(默认)时,使用 _input.all() 或 _input.first();选择"Run Once for Each Item"模式时,使用 _input.item。
n8n Python 代码节点的正确返回格式是什么?
必须返回包含 "json" 键的字典列表:
# ✅ 正确格式
return [{"json": {"field1": value1, "field2": value2}}]
# ✅ 多个结果
return [
{"json": {"id": 1, "data": "first"}},
{"json": {"id": 2, "data": "second"}}
]
# ❌ 错误:缺少列表包装
return {"json": {"field": value}}
# ❌ 错误:缺少 json 键
return [{"field": value}]所有代码路径都应返回一致的格式,包括空结果时应返回空列表 []。
n8n Python Beta 模式和 Native 模式有什么区别?
Python (Beta) - 推荐使用:
_input、_json、_node 辅助语法_now、_today、_jmespath()Python (Native) (Beta):
_items、_item 变量对于大多数 n8n 工作流,推荐使用 Python (Beta) 模式以获得更好的集成体验。