我有一個 CSV 檔案,我想讀取每一行并將標頭與值匹配以向 Web 服務器發送 HTTP POST。以下是 CSV 檔案的示例:
"Item Name","OS","Serial Number","Asset Tag","Manufacturer","Model Name","Model Number","Category","IP","Status"
"MYCOMPUTER","Microsoft Windows 10 Pro","SOMETHING","SOMETHING","Dell","Latitude ","5420","Desktop","0.0.0.0","Ready"
這是我的python代碼:
import requests
url = "https://develop.snipeitapp.com/api/v1/hardware"
payload = {
"asset_tag": Asset Tag,
"status_id": Status,
"model_id": Model Number,
"name": Item Name,
"model_name" : Model Name,
"serial": Serial Number,
"os" : OS,
"manufacturer" : Manufacturer,
"ip" : IP,
"Category" : Desktop
}
headers = {
"Accept": "application/json",
"Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
但是,如果有意義的話,我想為 CSV 檔案中的每一行發布一個帖子,其值與每個有效負載的標頭匹配。
先謝謝了!最好的問候馬克斯
uj5u.com熱心網友回復:
您有多個選項,但都有一個共同點,您需要打開檔案并遍歷行。
您可以使用 csv 模塊、pandas 或僅通過 open 陳述句打開檔案:
HEADERS= {
"Accept": "application/json",
"Content-Type": "application/json"
}
1 熊貓
import pandas as pd
df = pd.read_csv('csv_path_here')
for idx, data in df.iterrows():
payload = {'asset_tag', data['asset_tag'] .....}
response = requests.request("POST", url, json=payload, headers=headers)
# do stuff here
2 從這里使用 csv
import csv
rows = []
with open("Salary_Data.csv", 'r') as file:
csvreader = csv.reader(file)
header = next(csvreader)
for row in csvreader:
rows.append(row)
#Iterate now over rows
For row in rows[1:]:
payload = {'asset_tag', row[0] .....}
response = requests.request("POST", url, json=payload, headers=headers)
uj5u.com熱心網友回復:
嗨,您需要一個資料結構來保存此使用 Pandas 的所有 csv 資料。首先在python中安裝pandas,您可以通過以下命令安裝它。
pip install pandas
之后匯入該包并使用pandas.read_csv讀取 csv 并將其獲取到 Pandas 資料框。現在迭代資料框并發出發布請求。下面的示例代碼。
import pandas as pd
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})
for index, row in df.iterrows():
print(row['c1'], row['c2'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/390988.html
上一篇:如何從陣列中找到最小值
