community.general.read_csv 模块 – 读取 CSV 文件
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定:community.general.read_csv
。
概要
读取 CSV 文件并返回列表或字典,其中每个行包含一个字典。
参数
参数 |
注释 |
---|---|
解析 CSV 文件时使用的 CSV 方言。 可能的值包括 默认值: |
|
每个列的字段名称列表。 如果 CSV 没有标题,则需要此项。 |
|
用作结果字典键的列名。 如果未设置 |
|
从中读取数据的 CSV 文件名。 |
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完整 |
可以在 |
|
支持:无 |
在 diff 模式下,将返回已更改的内容(或可能需要在 |
另请参阅
另请参阅
- ansible.builtin.csvfile 查找插件
可用于从 Jinja 对 CSV 文件进行选择性查找。
示例
# Example CSV file with header
#
# name,uid,gid
# dag,500,500
# jeroen,501,500
# Read a CSV file and access user 'dag'
- name: Read users from CSV file and return a dictionary
community.general.read_csv:
path: users.csv
key: name
register: users
delegate_to: localhost
- ansible.builtin.debug:
msg: 'User {{ users.dict.dag.name }} has UID {{ users.dict.dag.uid }} and GID {{ users.dict.dag.gid }}'
# Read a CSV file and access the first item
- name: Read users from CSV file and return a list
community.general.read_csv:
path: users.csv
register: users
delegate_to: localhost
- ansible.builtin.debug:
msg: 'User {{ users.list.1.name }} has UID {{ users.list.1.uid }} and GID {{ users.list.1.gid }}'
# Example CSV file without header and semi-colon delimiter
#
# dag;500;500
# jeroen;501;500
# Read a CSV file without headers
- name: Read users from CSV file and return a list
community.general.read_csv:
path: users.csv
fieldnames: name,uid,gid
delimiter: ';'
register: users
delegate_to: localhost
返回值
常见的返回值记录在此处,以下是此模块特有的字段
键 |
描述 |
---|---|
CSV 内容作为字典。 返回: 成功 示例: |
|
CSV 内容以列表形式呈现。 返回: 成功 示例: |