如何使用 Drupal Feeds 和 Feeds Tamper 模块轻松导入 CSV 数据
2023-04-29•7 分钟阅读
Drupal 9 中的 Feeds 模块是一个强大的工具,用于将外部数据导入您的 Drupal 网站。它支持多种格式,包括 CSV、XML 和 JSON,并且可以将内容导入到 Drupal 网站中的节点、分类法和其他实体。为了增强导入过程,您可以使用 Feeds Tamper 模块,该模块允许您在保存数据之前修改数据。本教程将引导您完成使用 Feeds 模块和 Feeds Tamper 从 CSV 文件导入数据的过程。
- 所需模块:
- 安装并启用以下模块:
- 创建内容类型:
- 如果您还没有内容类型,请为您要从 CSV 文件导入的数据创建一个内容类型。

- 设置 Feeds Importer:
- 转到
结构 > Feeds 类型
- 点击
添加 Feed 类型
- 为您的导入器输入名称和描述
- 转到


- 配置 Fetcher:
- 点击“Fetcher”下拉菜单,选择您希望如何获取文件。在本教程中,请使用
上传文件
手动上传 CSV 文件。请参阅下面的 Fetcher a. 和 b. 图片。
- 点击“Fetcher”下拉菜单,选择您希望如何获取文件。在本教程中,请使用


- 配置 Parser:
- 点击“Parser”下拉菜单,选择
CSV
,并配置适当的 CSV 设置,例如分隔符、无标题。默认设置适用于大多数用例。请参阅下面的图片。
- 点击“Parser”下拉菜单,选择


- 配置 Processor:点击“Processor”下拉菜单并选择 Node。然后,点击“Content Type”下拉菜单,选择目标内容类型,并配置其他设置,如作者和默认语言。Processor 下拉菜单允许您选择导入数据时将创建的实体类型。请参阅下面的图片。



语言:此设置允许您选择导入内容的语言。
更新现有内容项:此设置决定了在导入新数据时如何处理现有内容项。您可以选择更新现有内容项、不更新它们或完全替换它们。模块将使用您设置的唯一映射来确定哪些内容项被视为“现有”并应被更新或替换。
先前导入的项目:此设置允许您选择如何处理先前导入但不再存在于 Feed 中的项目。您可以选择保留它们或采取其他操作。
过期内容项:此设置允许您指定何时删除内容项。您可以选择从不删除它们,或设置一个特定时间段后删除它们。
所有者:此设置允许您指定导入内容的所有者。您可以选择使用 Feed 作者作为所有者或选择特定用户。如果将此字段留空,所有者将设置为匿名。
- 点击“保存并添加映射”
- 将源 CSV 字段映射到目标内容类型字段:
- 点击“映射”选项卡:这将带您进入映射配置页面,您可以在其中将源数据映射到目标字段。
- 通过点击“选择目标”将源 CSV 列映射到目标内容类型字段:这将允许您选择要映射数据的目标 Drupal 字段。然后,在“源”列中,选择“新建 CSV 源”并输入 CSV 文件中包含您要映射到所选目标字段的数据的列名。
- 可选地,配置唯一字段以避免重复导入:这允许您指定应使用哪些字段来确定导入的项目是否是现有项目的重复项。如果找到重复项,则可以配置模块以更新或替换现有项目。
- 调整其他配置,如语言处理:这允许您为导入器配置其他设置,例如如何处理语言。
- 点击“保存”:这将保存您的映射和其他配置设置。

- 使用 Feeds 导入器导入数据:
- 转到
内容 > Feeds 导入器
- 点击您之前创建的导入器的“导入”
- 上传您的 CSV 文件(如果您将文件上传配置为您的 Fetcher)
- 点击“导入”
- 导入的内容现在应该作为目标内容类型的节点出现在您的 Drupal 网站
/admin/content
中
- 转到
使用 Feeds Tamper 操作导入的数据
Feeds Tamper 模块是 Drupal Feeds 模块的贡献模块,它允许您在导入数据之前修改数据。它提供了一个用户界面,用于在 Feeds 导入器的各个映射字段中添加“tamper”插件,这些插件可以执行各种数据操作任务,例如拆分、合并或重写数据。
- 确认 Feeds Tamper 模块已启用。
- 转到您的 Feed 导入器的配置页面:导航到您想与 Feeds Tamper 模块一起使用的 Feed 导入器的配置页面。您可以通过转到“结构”页面,然后点击“Feeds”并选择您要配置的导入器来完成此操作。
- 点击“Tamper”选项卡:在您的 Feed 导入器的配置页面上,点击“Tamper”选项卡以访问 tamper 设置。
- 为映射字段添加 tamper 插件:在 tamper 设置表中,找到您想为其添加 tamper 插件的映射字段。在该字段的“插件”列中,点击“添加插件”按钮。从可用插件列表中选择您想使用的插件,然后根据需要配置其设置。
- 保存您的更改:添加并配置完所有您想使用的 tamper 插件后,点击“保存”按钮以保存您的更改。
- 对所有要在存储数据之前修改的源列重复这些步骤
Feeds Tamper 模块的用例
- 数据清理:您可以使用 Feeds Tamper 模块在导入数据之前清理数据。例如,您可以使用“查找和替换”插件替换数据中的特定单词或短语。
- 数据转换:您可以使用 Feeds Tamper 模块在导入数据之前转换数据。例如,您可以使用“Explode”插件将单个字段拆分为多个值,或使用“Implode”插件将多个字段合并为一个值。“Explode”插件在将 CSV 文件中的多个逗号分隔字段映射到分类法引用字段时非常有用。
- 数据过滤:您可以使用 Feeds Tamper 模块在导入数据之前过滤数据。例如,您可以使用“关键字过滤器”插件仅导入包含特定关键字的项目。
- 数据重写:您可以使用 Feeds Tamper 模块在导入数据之前重写数据。例如,您可以使用“Rewrite”插件更改数据中日期或数字的格式,或使用“Pathauto”插件为导入的内容自动生成 URL 别名。
就是这样!您已成功配置 Drupal 9 中的 Feeds 模块,使用 Feeds Tamper 模块导入和操作 CSV 文件中的数据。