#python #api #dictionary
#python #API #словарь
Вопрос:
Я использую Python 3 для размещения некоторых данных через API на веб-сайте. Мне нужно загрузить данные в следующем формате:
data = {'MA:C0:AD:DR:ES:S1': {'ip': '1.1.1.1', 'name': 'TEST2'}, 'MA:C0:AD:DR:ES:S2': {'ip': '2.2.2.2', 'name': 'TEST'}}
У меня есть CSV-файл, в котором у меня есть все mac-адреса, IP-адреса и имена, которые я хочу загрузить.
CSV выглядит следующим образом:
MAC, IP, NAME
MA:C0:AD:DR:ES:S1, 1.1.1.1, TEST
MA:C0:AD:DR:ES:S2, 2.2.2.2, TEST2
MA:C0:AD:DR:ES:S3, 3.3.3.3, TEST3
MA:C0:AD:DR:ES:S4, 4.4.4.4, TEST4
Как я могу использовать эти данные из CSV, чтобы загрузить их как словарь (см. Пример) на веб-сайт?
Заранее спасибо!
Комментарии:
1. Вы что-нибудь пробовали?
Ответ №1:
Вот так
import csv
data = {}
with open("input.csv") as tsvfile:
reader = csv.reader(tsvfile, delimiter=",")
for idx,row in enumerate(reader):
if idx > 0:
data[row[0]] = {'ip': row[1],'name':row[2]}
print(data)
ввод.csv
MAC, IP, NAME
MA:C0:AD:DR:ES:S1, 1.1.1.1, TEST
MA:C0:AD:DR:ES:S2, 2.2.2.2, TEST2
MA:C0:AD:DR:ES:S3, 3.3.3.3, TEST3
MA:C0:AD:DR:ES:S4, 4.4.4.4, TEST4
вывод
{'MA:C0:AD:DR:ES:S1': {'ip': ' 1.1.1.1', 'name': ' TEST'}, 'MA:C0:AD:DR:ES:S2': {'ip': ' 2.2.2.2', 'name': ' TEST2'}, 'MA:C0:AD:DR:ES:S3': {'ip': ' 3.3.3.3', 'name': ' TEST3'}, 'MA:C0:AD:DR:ES:S4': {'ip': ' 4.4.4.4', 'name': ' TEST4'}}
Комментарии:
1. Вау, чувак! Я так долго шел, даже не зная ‘enumerate’ в Python! Вы просто открываете для меня новый мир :). Спасибо за ваш ответ! Это работает как шарм.