Bonjour,

Je souhaite créer une liste qui reprendrait tous les films (repris d'un fichier CSV), sachant que chaque film est un objet Movie.
Mais, lorsque j'ajoute un objet à la liste, il ajoute bien cet objet mais il n'affiche que la catégorie comedy.

Voilà la classe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Movie:
 
    # -------------------------------------------------------------------------
    movie_id: int
    movie_imdb: int
    name: str
    actors: List[Actor]
    summary: str
    category: List[str]
 
    # -------------------------------------------------------------------------
    def __init__(self, movie_id: int, name: str, category: List[str]):
 
        self.movie_id = movie_id
        self.movie_imdb = 0
        self.name = name
        self.actors = []
        self.summary = ""
        self.category = category
 
    # -------------------------------------------------------------------------
    def imprimer(self):
        print(self.movie_id)
        print(self.name)
        print(self.category)
Code pour stocker les films dans la liste :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
f = open ('test_movies.csv')
fichier_test = csv.reader(f)
category = []
tous_les_films = []#Liste qui contiendra l'ensemble des films provenant du fichier movies.csv
 
for ligne in fichier_test:
 
    category.clear()
    movie_id = ligne[0]
    name = ligne[1]
    category_ligne = ligne[2]
 
    for mot in category_ligne.split("|"):
        category.append(mot)
 
    film = Movie(movie_id, name, category)
    tous_les_films.append(film)
 
tous_les_films[2].imprimer()
 
for i in tous_les_films:
    i.imprimer()
Contenu fichier Csv:

1,Toy Story (1995),Adventure|Animation|Children|Comedy|Fantasy
2,Jumanji (1995),Adventure|Children|Fantasy
3,Grumpier Old Men (1995),Comedy|Romance
4,Waiting to Exhale (1995),Comedy|Drama|Romance
5,Father of the Bride Part II (1995),Comedy

Ce que la console affiche :

1
Toy Story (1995)
['Comedy']
2
Jumanji (1995)
['Comedy']
3
Grumpier Old Men (1995)
['Comedy']
4
Waiting to Exhale (1995)
['Comedy']
5
Father of the Bride Part II (1995)
['Comedy']

Ce qu'elle devrait afficher :

1
Toy Story (1995)
['Adventure', 'Animation', 'Children', 'Comedy', 'Fantasy']
2
Jumanji (1995)
['Adventure', 'Children', 'Fantasy']
3
Grumpier Old Men (1995)
['Comedy', 'Romance']
4
Waiting to Exhale (1995)
['Comedy', 'Drama', 'Romance']
5
Father of the Bride Part II (1995)
['Comedy']

Merci d'avance pour vos réponses