亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 JSON 數據過濾到 CSV 列表中

將 JSON 數據過濾到 CSV 列表中

holdtom 2023-03-16 11:01:26
我的目標是從這個 JSON 文件 (output.json) 中取出主機名,并使用 python 將它們放入 CSV 列表 (newoutput.csv) 中,最終結果如下所示:主機 1、主機 2、主機 3有幾百個條目,主機名在“specific_data.data.hostname”下以下是 output.json 文件的片段: [      {        "adapter_list_length": 3,        "adapters": [          ...        ],        "internal_id": "...",        "labels": [          "...",          "..."        ],        "specific_data.data.hostname": [          "TheHost1"        ],        "specific_data.data.last_seen": "...",        "specific_data.data.network_interfaces.ips": [          "...",          "...",          "..."        ],        "specific_data.data.network_interfaces.mac": [          "..."        ],        "specific_data.data.os.type": [          "..."        ]      },      {        "adapter_list_length": 3,        "adapters": [          "...",          "....",          "...",          "..."        ],        "internal_id": "...",        "labels": [          "...",          "Router"        ],        "specific_data.data.hostname": [          "TheHost2"        ],        "specific_data.data.last_seen": "...",        "specific_data.data.network_interfaces.ips": [我是 python 的新手,非常感謝任何幫助。
查看完整描述

2 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

您可以迭代字典列表并使用在每條記錄中找到的主機列表擴展“主機”列表。當您擁有所有值時,構建逗號分隔的字符串。


import json

# python 2.7 needs different open

import codecs

filename = "output.json"

# json is usually utf-8 encoded but this is not 100% guaranteed

data = json.loads(codecs.open(filename, encoding="utf-8"))

hosts = []

for record in data:

    if "specific_data.data.hostname" in record:

        hosts.extend(record["specific_data.data.hostname"])

# assuming hosts are all ascii

with open("hostnames.csv", "w") as fileobj:

    fileobj.write(",".join(hosts))

    fileobj.write("\n")


查看完整回答
反對 回復 2023-03-16
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

以下將csv變量設置為以逗號分隔的主機名的字符串。


import json

object = json.loads(snippet)

csv = ', '.join(x['specific_data.data.hostname'][0] for x in object)


查看完整回答
反對 回復 2023-03-16
  • 2 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號