Ansible 輸出結果保存至 excel

客戶要求整理出所有服務器上所有用戶,在ansible服務器上執行

ansible all -m shell -a "cat /etc/passwd|awk '{print $1}'"

輸出結果如下,省略了一些。一個ip下面跟着用戶:
10.200.187.51
root
bin
daemon
adm
10.200.151.94
root
bin
daemon
adm

需要輸出如下,即分爲兩列,ip列合併單元格:
Ansible 輸出結果保存至 excel

以下需先安裝pandas
pip install pandas

import pandas as pd
import re
text = """
10.200.187.51
root
bin
daemon
adm
10.200.151.94
root
bin
daemon
adm
"""

data = text.strip().split("\n")

rs = []
ip = ""
for d in data:
    if re.match('\d+\.\d+\.\d+\.\d', d):
        ip = d
    else:
        rs.append((ip, d))
df = pd.DataFrame(rs, columns=["ip", "user"])
df = df.groupby(df["ip"]).apply(lambda x: x["user"])
df.to_excel("test1.xlsx")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章