Bonjour,
J'ai un fichier Json qui je charge dans une liste. Le fichier comporte des éléments dont chacun comprend une classe un nom et un prénom. Composition simplifiée avec un enregistrement initial et un "append":
Mais si j'utilise une variable, ça ne marche plus car on voit que le dernier élément est entouré de double quote. ExempleCode:
1
2
3
4
5
6 python3 >>> Eleves = [{'Classe': '6C', 'Nom': 'Dupont', 'Prenom': 'Serge'}] >>> Eleves.append({'Classe': '6C', 'Nom': 'Durand', 'Prenom': 'René'}) >>> print(Eleves) [{'Classe': '6C', 'Nom': 'Dupont', 'Prenom': 'Serge'}, {'Classe': '6C', 'Nom': 'Durand', 'Prenom': 'René'}] >>>
Ainsi, si je boucle sur ma liste, je tombe en erreur.Code:
1
2
3
4 >>> A="{'Classe': '6D', 'Nom': 'Robert', 'Prenom': 'Rémy'}" >>> Eleves.append(A) >>> print(Eleves) [{'Classe': '6C', 'Nom': 'Dupont', 'Prenom': 'Serge'}, {'Classe': '6C', 'Nom': 'Durand', 'Prenom': 'René'}, {'Classe': '6C', 'Nom': 'Durand', 'Prenom': 'René'}, "{'Classe': '6D', 'Nom': 'Robert', 'Prenom': 'Rémy'}"]
Je ne comprends pas et, bien sûr, j'ai essayé pas mal de formes.Code:
1
2
3
4
5
6
7
8
9 >>> for Item in Eleves: ... print(Item["Classe"]) ... 6C 6C Traceback (most recent call last): File "<stdin>", line 2, in <module> TypeError: string indices must be integers >>>
Donc ma liste ne peux plus générer de fichier Json car la conversion tombe en erreur.
Je pense que la fonction "append" ne supporte pas de variabnle mais comment faire ?
Vous imaginez bien que chaque enregistrement est construit par plusieurs saisies d'utilisateur.
Une idée ? Merci d'avance.