You need to enable JavaScript to run this app. Ansible读取列名含空格的CSV文件报错该如何处理?
优惠活动
大模型
产品
解决方案
定价
更多

Ansible读取列名含空格的CSV文件报错该如何处理?

Ansible读取含空格列名CSV的错误修正方案

你代码存在两处语法错误,修正后即可正常读取:

  • 带空格列名的引用语法错误:Jinja2中访问包含空格等特殊字符的字典键时,不能同时使用.和[],推荐使用方括号写法,兼容性更强:
    错误写法:{{ item.['User name'] }}
    正确写法:{{ item['User name'] }}
  • 循环参数未正确解析:Ansible的loop参数需要传入Jinja2解析后的可迭代对象,必须用双大括号包裹注册的变量

以下是修正后的完整代码:

- name: 从CSV文件读取用户信息并保存为字典
  read_csv:
    path: credentials.csv
  register: users
  delegate_to: localhost

- name: 创建用户家目录
  file:
    path: "/home/{{ item['User name'] }}"
    state: directory
    mode: '0755'
  loop: "{{ users.list }}"

额外说明:此处替换了原command调用mkdir的写法,改用Ansible原生file模块,符合幂等性要求,重复执行不会报错

内容的提问来源于stack exchange,提问作者markorial

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 01:57:05