我的python版本-3.6.9。通過下面的python代碼,我試圖將json回應寫入csv檔案中。
import requests
import json
import csv
user_list = ''Robby.cornelissen
adrian.charles
tyler.swenson
Brandon.Miller
nathan.gallete''/span>
ports = [2316, 2340, 2380, 2482]
users = user_list.split('
')
fname = "result.csv"/span>
with open(fname, "w") as file:
csv_file = csv.writer(file,lineterminator='
')
csv_file。 writerow(["depotFile"/span>, "host"/span>, "isgroup"/span>, "line"/span>, "perm"/span>, "unmap"/span>, "user"])
for user, port in zip(users, ports)。
print(f'from csv and other method here is the user and port: {user}, {port}')
url = f'http://198.98.99.12:46567/{port}/protects/{user}'
print(f'grab data from rest api: {url}')
response = requests.get(url, auth=('tool-admin'/span>, 'password'/span>)
data = requests.get(url).json()
for item in list(data)。
csv_file.writerow(item.values())
當前輸出:-
depotFile host isgroup line perm unmap user
//LIB/Include/... * 12 read 2G_Members
//Prj/LIB/... * 15 寫4G_Members
//AND/KIO/... * 16 read 5G_Members
//prj/mm/src/... * 17 寫4G_Members
//Hon/Sam/... * 18 read 6G_Members
目前的問題如下,
在user_list部分傳遞了多個用戶ID,在ports部分傳遞了多個埠號,然而目前它只寫了單個用戶ID的回應。但它需要為所有提供的用戶串列逐一寫入回應。
另外,在輸出csv檔案中,需要增加兩列user_list和ports。 即({port} & {user}需要在csv檔案中追加)。
預期輸出:-
depotFile host isgroup line perm unmap user user_list port
//LIB/Include/... * 12 read 2G_Members robby.cornelissen 2316.
//Prj/LIB/... * 15 寫4G_Members adrian.charles 2316 //AND/KIO/...
//AND/KIO/... * 16 read 5G_Members tyler.swenson 2340
//prj/mm/src/... * 17寫4G_Members brandon.miller 2380
//Hon/Sam/... * 18 read 6G_Members nathan.gallete 2482.
需要幫助來解決這個問題。謝謝。
uj5u.com熱心網友回復:
你需要在每個data行中添加user和port。
for item in data:
item = list(item.values() ) [user, port]
csv_file.writerow(item)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/306637.html
標籤:
上一篇:如何在pandas資料框中根據每個ID從以前的值到現在的值的變化,創建一個表示變化的標志列?
下一篇:如何從另一個檔案匯入多個變數
