community.general.from_csv 过滤器 – 将 CSV 文本输入转换为字典列表

注意

此过滤器插件是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,则您可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.from_csv

community.general 2.3.0 中的新增功能

概要

  • 将 CSV 文本输入转换为字典列表。

输入

这描述了过滤器的输入,即 | community.general.from_csv 之前的值。

参数

注释

输入

字符串 / 必填

包含 CSV 文档的字符串。

关键字参数

这描述了过滤器的关键字参数。这些是在以下示例中的值 key1=value1key2=value2 等:input | community.general.from_csv(key1=value1, key2=value2, ...)

参数

注释

分隔符

字符串

用于分隔字段的一个字符的字符串。

使用此参数时,您可以更改 dialect 使用的默认值。

默认值取决于使用的方言。

方言

字符串

解析 CSV 文件时使用的 CSV 方言。

可能的值包括 excelexcel-tabunix

默认值: "excel"

字段名

列表 / 元素=字符串

每一列的字段名列表。

如果 CSV 没有标题,则需要此参数。

跳过初始空格

布尔值

是否忽略分隔符后紧跟的任何空格。

使用此参数时,您可以更改 dialect 使用的默认值。

默认值取决于使用的方言。

选项

  • false

  • true

严格模式

布尔值

是否在错误的 CSV 输入上引发异常。

使用此参数时,您可以更改 dialect 使用的默认值。

默认值取决于使用的方言。

选项

  • false

  • true

示例

- name: Parse a CSV file's contents
  ansible.builtin.debug:
    msg: >-
      {{ csv_data | community.general.from_csv(dialect='unix') }}
  vars:
    csv_data: |
      Column 1,Value
      foo,23
      bar,42
  # Produces the following list of dictionaries:
  #   {
  #     "Column 1": "foo",
  #     "Value": "23",
  #   },
  #   {
  #     "Column 1": "bar",
  #     "Value": "42",
  #   }

返回值

描述

返回值

列表 / 元素=字典

每行一个字典的列表。

返回:成功

作者

  • Andrew Pantuso (@Ajpantuso)

提示

每种条目类型的配置项具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。