Comment puis-je analyser un élément de la liste dans Python?
J'ai besoin d'obtenir un nom d'hôte de:
{'Key': 'Nom', 'Valeur': 'Nom d'hôte'} CODE> P>
tag = [{'Key': 'Backup Initiator Rule', 'Value': 'Daily-6d-retention'},
{'Key': 'delete_On', 'Value': '2019-08-31'},
{'Key': 'Backup_Type', 'Value': 'Demo'},
{'Key': 'Name', 'Value': 'HOSTNAME'},
{'Key': 'Disaster_Recovery', 'Value': 'Full'}]
3 Réponses :
car ce n'est pas analysable JSON, j'irais pour la manière de Regex: p> Ceci renvoie une liste de tous les objets Trouvé: P> ['HOSTNAME']
for dict in tag: if dict['Key'] == 'Name': hostname = dict['Value'] break
Je voulais dire liste
résultats strong>: ["nom d'hôte"] p> p> p> P>
Comment être si le type de variable 'tag' est class 'list' code>
Tag = [{'Key': 'Règle d'initiateur de sauvegarde', «Valeur»: «Daily-6D-Retention '}, {' Key ':' Supprimer_on ',' Valeur ':' 2019-08-31 ' }, {'Key': 'Backup_Type', 'Valeur': 'Demo'}, {'Key': 'Nom': 'Nom', 'Valeur': 'Nom d'hôte'}, {'Key': 'Disaster_Recovery', 'Value' : 'Complet'}] code>
Il suffit de changer "Eval (tag)" à la balise.
Obtenez
tag ["tags"] code> puis numérise la liste d'un dictionnaire où touche == Nom. Utiliser
ast.literal_eval code> d'abord car il semble être une chaîne
Cela semble être un dictionnaire python écrit à la chaîne. Pourquoi? Pouvez-vous changer cela?
Mais cette chaîne contient un appel "DateTime.DateTime" ...
'Starttime': DateTime.DateTime (2019, 8, 28, 13, 56, 8, 269000, tzinfo = tzutc ()), code>
Je m'attends à ce que ce n'est pas un appel qui est une représentation à chaîne d'objet DateTime
Type d'étiquette variable est la classe 'List'
Tag = [{'Key': 'Règle d'initiateur de sauvegarde', «Valeur»: «Daily-6D-Retention '}, {' Key ':' Supprimer_on ',' Valeur ':' 2019-08-31 ' }, {'Key': 'Backup_Type', 'Valeur': 'Demo'}, {'Key': 'Nom': 'Nom', 'Valeur': 'Hostnfffame'}, {'Key': 'Disaster_Recovery', 'Value' : 'Complet'}] code>