Problème ajout d'un objet dans une liste Python
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:
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:
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 :)