Esempio n. 1
0
    def read_csv_file(self):
        with open(self.__file_name, mode='r', encoding='utf-8-sig') as csvfile:
            movie_file_reader = csv.DictReader(csvfile)

            index = 0
            for row in movie_file_reader:
                title = row["Title"]
                release_year = int(row["Year"])
                movie = Movie(title, release_year)

                movie.description = row["Description"]

                director = row["Director"]
                movie.director = director
                if Director(director) not in self.__dataset_of_directors:
                    self.__dataset_of_directors.append(Director(director))

                actors = row["Actors"].split(",")
                for actor in actors:
                    movie.add_actor(Actor(actor))
                    if Actor(actor) not in self.__dataset_of_actors:
                        self.__dataset_of_actors.append(Actor(actor))

                genres = row["Genre"].split(",")
                for genre in genres:
                    movie.add_genre(Genre(genre))
                    if Genre(genre) not in self.__dataset_of_genres:
                        self.__dataset_of_genres.append(Genre(genre))

                movie.runtime_minutes = int(row["Runtime (Minutes)"])

                try:
                    movie.external_rating = float(row["Rating"])
                except ValueError:
                    pass

                try:
                    movie.rating_votes = int(row["Votes"])
                except ValueError:
                    pass

                try:
                    movie.revenue_in_millions = float(row["Revenue (Millions)"])
                except ValueError:
                    pass

                try:
                    movie.metascore = int(row["Metascore"])
                except ValueError:
                    pass

                self.__dataset_of_movies.append(movie)
                # title = row['Title']
                # release_year = int(row['Year'])
                # print(f"Movie {index} with title: {title}, release year {release_year}")
                index += 1
    def read_csv_file(self):
        with open(self.__file_name, mode='r', encoding='utf-8-sig') as csvfile:
            movie_file_reader = csv.DictReader(csvfile)

            for row in movie_file_reader:
                rank = row['Rank']

                # make movie from data
                movie = Movie(row['Title'], int(row['Year']))
                movie.description = row['Description']
                movie.runtime_minutes = int(row['Runtime (Minutes)'])
                movie.external_rating = float(
                    row['Rating']) if row['Rating'] != "N/A" else None
                movie.rating_votes = int(
                    row['Votes']) if row['Votes'] != "N/A" else None
                movie.revenue = float(
                    row['Revenue (Millions)']
                ) if row['Revenue (Millions)'] != "N/A" else None
                movie.metascore = int(
                    row['Metascore']) if row['Metascore'] != "N/A" else None

                director = Director(row['Director'])
                actors = row['Actors'].split(",")
                genres = row['Genre'].split(",")

                movie.director = director
                self._directors.add(director)

                for actor in actors:
                    actor = Actor(actor)
                    movie.add_actor(actor)
                    self._actors.add(actor)

                for genre in genres:
                    genre = Genre(genre)
                    movie.add_genre(genre)
                    self._genres.add(genre)

                self.dataset_of_movies.add(movie)