csv - 是否有一个示例说明如何在 Ansible 中循环遍历 csv 文件并将值放入 dict 而不是列表中?
问题描述
我正在尝试学习如何遍历来自 csv 的数据并将其放入字典而不是列表中。我可以使它与列表一起使用,但这样做对于需要运行多个任务的 CSV 没有帮助,每个任务只使用一些相同的数据,因为那样我就必须为每个任务创建一个新的 CSV 并且在每个任务中调用不同的 csv。由于每个任务中的大多数数据都是相同的,我宁愿从同一个 csv 中提取所有数据并使用 dict 来指定我当时想要使用的特定单元格的数据。
有没有办法将从 csv 中提取的数据放入字典中?
我的剧本:
tasks:
- name: Read CSV
read_csv:
path: ./constructs.csv
dialect: excel
register: csv_data
- name: Add a new BD
cisco.mso.mso_schema_template_bd:
<<: *login
state: present
schema: "{{ item.schema }}"
template: "{{ item.template }}"
bd: "{{ item.bd }}"
loop: "{{ csv_data.dict|dict2items }}"
- name: Add a new EPG
cisco.mso.mso_schema_template_anp_epg:
<<: *aci_login
state: present
schema: "{{ item.schema }}"
template: "{{ item.template }}"
anp: "{{ item.app_profile }}"
epg: "{{ item.epg }}"
bd:
name: "{{ item.bd }}"
loop: "{{ csv_data.dict|dict2items }}"
如果我运行上述(带有适当的标题/等以上任务:它会简单地跳过我的所有任务。跳过的原因是“列表中没有项目”。
解决方案
推荐阅读
- python - pandas 'DataFrame' 对象没有属性 'map'
- corda - Corda Enterprise 上的 Yo CorDapp 给出 MissingMigrationException
- sorting - ADODB RecordSet 排序日期字段不正确
- azure - 有没有办法在没有 Azure 订阅的情况下使用应用程序洞察?
- php - 如何创建虚拟主机 xampp windows 7
- python - 将 DataTimeField 模型字段值设置为 timezone.now + timezone.timedelta(hours=another_model_field)
- c++ - QChartView QLineSeries 鼠标点击选择
- django - 使用长 `with` 子句替代 blocktrans 标记
- java - com.sun.xml.ws:jaxws-rt:pom:2.2.10 的 POM 无效
- jquery - AJAX 和数据表