J'ai une liste de dict ce que certaines données, et je voudrais extraire certaines paires clé: valeur dans une nouvelle liste de dicts. Je sais qu'un moyen que je pourrais faire ceci serait d'utiliser del i['unwantedKey']
, cependant, je préfère ne pas supprimer des données, mais plutôt créer une nouvelle dict avec les données nécessaires.Extraire une clé multiple: paires de valeurs d'un dict à un nouveau dict
L'ordre des colonnes peut changer, j'ai donc besoin de quelque chose pour extraire les deux paires clé/valeur du dict plus grand dans un nouveau dict.
Format Données actuelles
[{'Speciality': 'Math', 'Name': 'Matt', 'Location': 'Miami'},
{'Speciality': 'Science', 'Name': 'Ben', 'Location': 'Las Vegas'},
{'Speciality': 'Language Arts', 'Name': 'Sarah', 'Location': 'Washington DC'},
{'Speciality': 'Spanish', 'Name': 'Tom', 'Location': 'Denver'},
{'Speciality': 'Chemistry', 'Name': 'Jim', 'Location': 'Dallas'}]
code pour supprimer la clé: la valeur de dict
import csv
data= []
for line in csv.DictReader(open('data.csv')):
data.append(line)
for i in data:
del i['Speciality']
print data
désiré Format des données sans utiliser del i['Speciality']
[{'Name': 'Matt', 'Location': 'Miami'},
{'Name': 'Ben', 'Location': 'Las Vegas'},
{'Name': 'Sarah', 'Location': 'Washington DC'},
{'Name': 'Tom', 'Location': 'Denver'},
{'Name': 'Jim', 'Location': 'Dallas'}]
Dosez votre code de travail? – emeth
Oui mon code fonctionne, mais il supprime le dictionnaire indésirable, et je ne veux pas supprimer les données. Au lieu de cela je cherchais une option pour extraire les données que je veux dans un nouveau dict, laissant l'ancienne dict inchangée. –