ansible.builtin.csvfile – чтение данных из файла TSV или CSV
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля csvfile, даже не указывая ключевое слово collections:. Несмотря на это, мы рекомендуем использовать полное имя для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же самое имя модуля.
Новое в версии 1.5: of ansible.builtin
Обзор
- Поиск csvfile считывает содержимое файла в формате CSV (значения, разделённые запятыми). Поиск ищет строку, где первый столбец соответствует имени ключа (которое может состоять из нескольких слов), и возвращает значение в столбце
col(по умолчанию 1, что в индексе с нуля означает второй столбец в файле).
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии |
|---|---|---|---|
| col строка | Значение по умолчанию: "1" | столбец для возврата (индексируется с 0). | |
| default строка | Значение по умолчанию: "" | значение, возвращаемое, если значение не найдено в файле. | |
| delimiter строка | Значение по умолчанию: "TAB" | разделитель полей в файле, для табуляции можно указать TAB или \t. | |
| encoding строка добавлено в 2.1 of ansible.builtin | Значение по умолчанию: "utf-8" | Кодировка (кодировка символов) используемого файла CSV. | |
| file строка | Значение по умолчанию: "ansible.csv" | имя файла CSV/TSV для открытия. |
Примечания
Примечание
- По умолчанию используется TSV-файл (разделённый табуляцией), а не CSV (разделённый запятыми) … да, название вводящее в заблуждение.
- Начиная с версии 2.11, параметр поиска (текст, который должен соответствовать первому столбцу файла) и параметр имени файла могут быть многословными.
- По историческим причинам в ключе поиска, кавычки рассматриваются буквально и не могут использоваться вокруг строки, если они не появляются (экранированные, как требуется) в первом столбце файла, который вы анализируете.
Примеры
- 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 список / элементы=строка | успех | значение(я), хранящиеся в столбце файла |
Авторы
- Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/csvfile_lookup.html