You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV文件转换为Ansible INI格式清单文件?

将CSV转换为Ansible INI格式清单的方法

你的CSV文件内容如下:

id1,comp2
id1,comp4
id2,comp2
id2,comp3
id3,comp4

期望生成的Ansible INI格式清单:

[id1]
comp2
comp4

[id2]
comp2
comp3

[id3]
comp4

以下是两种简单的实现方法:

方法1:使用Python脚本

创建一个Python脚本,读取CSV并按组生成INI文件:

import csv
from collections import defaultdict

# 读取CSV并按组分组主机
host_groups = defaultdict(list)
with open('hosts.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file)
    for group_name, host in csv_reader:
        host_groups[group_name].append(host)

# 写入INI格式清单
with open('inventory.ini', 'w') as ini_file:
    for group, hosts in host_groups.items():
        ini_file.write(f'[{group}]\n')
        for host in hosts:
            ini_file.write(f'{host}\n')
        ini_file.write('\n')

使用时将你的CSV文件命名为hosts.csv,运行脚本后会生成inventory.ini文件。

方法2:使用awk命令

直接用awk命令一行完成转换,无需编写脚本:

awk -F ',' '{groups[$1] = groups[$1] $2 "\n"} END {for (g in groups) printf "[%s]\n%s\n", g, groups[g]}' hosts.csv > inventory.ini

执行该命令后,转换后的内容会直接写入inventory.ini文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 18:25:34