csvfile – чтение данных из файла TSV или CSV
Описание
- Поиск csvfile считывает содержимое файла в формате CSV (значения, разделённые запятыми). Поиск ищет строку, где первый столбец соответствует значению keyname, и возвращает значение во втором столбце, если не указан другой столбец.
Параметры
| Параметр | Варианты/Значения по умолчанию | Настройка | Комментарии |
|---|---|---|---|
| col - | Значение по умолчанию: "1" | столбец для возврата (индекс 0). | |
| default - | Значение по умолчанию: "" | значение, которое будет возвращено, если значение не найдено в файле. | |
| delimiter - | Значение по умолчанию: "TAB" | разделитель полей в файле, для табуляции можно указать "TAB" или "t". | |
| encoding - добавлен в версии 2.1 | Значение по умолчанию: "utf-8" | Кодировка (кодовая страница) используемого файла CSV. | |
| file - | Значение по умолчанию: "ansible.csv" | имя файла CSV/TSV для открытия. |
Примечания
Примечание
- По умолчанию используется TSV (разделенный табуляцией), а не CSV (разделенный запятыми) ... да, название вводит в заблуждение.
Примеры
- name: Match 'Li' on the first column, return the second column (0 based index)
debug: msg="The atomic number of Lithium is {{ lookup('csvfile', 'Li file=elements.csv delimiter=,') }}"
- name: msg="Match 'Li' on the first column, but return the 3rd column (columns start counting after the match)"
debug: msg="The atomic mass of Lithium is {{ lookup('csvfile', 'Li file=elements.csv delimiter=, col=2') }}"
- name: Define Values From CSV File
set_fact:
loop_ip: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=1') }}"
int_ip: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=2') }}"
int_mask: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=3') }}"
int_name: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=4') }}"
local_as: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=5') }}"
neighbor_as: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=6') }}"
neigh_int_ip: "{{ lookup('csvfile', bgp_neighbor_ip +' file=bgp_neighbors.csv delimiter=, col=7') }}"
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого поиска:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| _raw - | значение(я), хранящиеся в столбце файла |
Статус
- Для этого поиска не гарантируется обратная совместимость интерфейса. [превью]
- Этот поиск поддерживается сообществом Ansible. [сообщество]
Авторы
- Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
Подсказка
Элементы конфигурации для каждого типа имеют порядок приоритетов от низкого к высокому. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/plugins/lookup/csvfile.html