local-data-extract

n8n node to extract data from local files (CSV, Excel, JSON, TXT)

Package Information

Downloads: 1 weekly / 4 monthly
Latest Version: 1.0.0
Author: Your Name

Documentation

local-data-extract

Local Data Extract - N8N 插件

用于从本地文件系统读取和解析多种格式数据文件的 N8N 节点

📋 目录

🔍 插件概述

Local Data Extract 是一个 N8N 节点插件,用于从本地文件系统读取和解析多种格式的数据文件。这个插件提供了灵活的数据提取选项,支持多种文件格式,并允许用户自定义数据处理方式。

✨ 特性

  • 支持多种文件格式: CSV, TXT, Excel (XLS/XLSX), JSON
  • 灵活的文件路径配置(绝对路径或相对路径)
  • 自动检测文件编码
  • 对 CSV 和 TXT 文件支持自定义分隔符
  • 对 Excel 文件支持多工作表读取和表头配置
  • 对 JSON 文件支持路径提取和对象扁平化
  • 支持添加自定义字段
  • 支持字段类型转换
  • 支持字段重新排序

📦 安装

通过 NPM 安装

# 在 N8N 安装目录中运行
npm install local-data-extract

# 重启 N8N 服务
systemctl restart n8n  # 或使用你的 N8N 启动命令

通过 N8N 界面安装

  1. 打开 N8N 界面
  2. 点击左侧导航栏中的 "Settings"
  3. 选择 "Community Nodes"
  4. 输入 "local-data-extract" 并点击 "Install"
  5. 安装完成后,节点将出现在 "All Nodes" 列表中

开发模式安装

# 克隆仓库
git clone https://github.com/yourusername/local-data-extract.git
cd local-data-extract

# 安装依赖
npm install

# 构建插件
npm run build

# 链接到 N8N
npm link
cd ~/.n8n/nodes
npm link local-data-extract

# 重启 N8N

⚙️ 节点配置

基础配置

参数名称 类型 必填 描述
文件路径 字符串 要读取的文件路径(绝对路径或相对路径)
文件类型 下拉菜单 文件类型:CSV、TXT、Excel、JSON

CSV/TXT 配置

参数名称 类型 必填 默认值 描述
分隔符 字符串 "," 字段分隔符
编码 下拉菜单 "utf8" 文件编码
包含表头 布尔值 true 文件是否包含表头行
引号字符 字符串 '"' 用于包围值的引号字符
转义字符 字符串 '\' 用于转义特殊字符的字符
自动检测分隔符 布尔值 false 是否自动检测分隔符

Excel 配置

参数名称 类型 必填 默认值 描述
工作表名称 字符串 - 要读取的工作表名称(留空则读取所有工作表)
表头行号 数字 1 表头所在行号
数据开始行 数字 2 数据开始行号
多行表头 数字 1 表头占用的行数
多表处理模式 下拉菜单 "separate" "separate" (分别输出) 或 "combined" (合并输出)
包含表头 布尔值 true 是否包含表头

JSON 配置

参数名称 类型 必填 默认值 描述
键路径 字符串 - 要提取的数据路径,例如 "data.items[0]"
扁平化对象 布尔值 false 是否将嵌套对象扁平化为单级对象

高级配置

参数名称 类型 必填 默认值 描述
添加自定义字段 布尔值 false 是否添加自定义字段
自定义字段 列表 [] 自定义字段配置
字段排序 列表 [] 输出字段的排序顺序
类型转换 对象 {} 字段类型转换配置

📊 支持的文件格式

  • CSV (Comma-Separated Values): 逗号分隔值文件
  • TXT: 文本文件,支持自定义分隔符
  • Excel: .xls 和 .xlsx 格式
  • JSON: JavaScript 对象表示法格式

🔧 使用示例

示例 1: 读取 CSV 文件

  1. 添加 Local Data Extract 节点到你的工作流
  2. 在基础配置中,设置文件路径为你的 CSV 文件路径
  3. 选择文件类型为 "CSV"
  4. 设置分隔符为 ","
  5. 启用 "包含表头" 选项
  6. 连接节点到其他节点,如循环或数据库写入节点

示例 2: 读取 Excel 文件中的特定工作表

  1. 添加 Local Data Extract 节点到你的工作流
  2. 在基础配置中,设置文件路径为你的 Excel 文件路径
  3. 选择文件类型为 "Excel"
  4. 在 Excel 配置中,输入工作表名称
  5. 设置表头行号为 1,数据开始行号为 2
  6. 连接节点到后续处理节点

示例 3: 读取 JSON 文件并提取特定路径

  1. 添加 Local Data Extract 节点到你的工作流
  2. 在基础配置中,设置文件路径为你的 JSON 文件路径
  3. 选择文件类型为 "JSON"
  4. 在 JSON 配置中,输入键路径,例如 "data.users"
  5. 启用 "扁平化对象" 选项
  6. 连接节点到数据处理或存储节点

📤 输出格式

节点的输出是一个包含解析数据的数组。每个数组元素代表文件中的一条记录。

对于 CSV/TXT 和 Excel 文件,如果启用了表头,输出将是对象数组,其中每个对象的键是表头,值是对应的单元格内容。如果未启用表头,输出将是对象数组,键为 "column_1", "column_2" 等。

对于 JSON 文件,如果指定了键路径,输出将是该路径下的数据。如果启用了扁平化,嵌套对象将被扁平化,键将使用下划线连接。

🔨 开发指南

环境设置

# 克隆仓库(假设你是贡献者)
git clone https://github.com/yourusername/local-data-extract.git
cd local-data-extract

# 安装依赖
npm install

构建插件

# 构建插件
npm run build

# 开发模式(监视文件变化)
npm run dev

本地测试

# 链接到 N8N
npm link
cd ~/.n8n/nodes
npm link local-data-extract

# 重启 N8N 服务
systemctl restart n8n  # 或使用你的 N8N 启动命令

👥 贡献

欢迎提交问题和拉取请求!请确保遵循项目的代码风格和贡献指南。

📝 许可证

该项目在 MIT 许可证下发布。详见 LICENSE 文件。


Made with ❤️ for N8N Community

Discussion