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:
                movie = Movie(row["Title"], int(row["Year"]))
                movie.description = row["Description"]
                movie.runtime_minutes = int(row["Runtime (Minutes)"])
                self.__total_runtime_minutes += int(row["Runtime (Minutes)"])
                self.__runtime_minutes_number_of_movies += 1
                if row["Rating"] != "N/A":
                    movie.rating = float(row['Rating'])
                    self.__total_rating += float(row['Rating'])
                    self.__rating_number_of_movies += 1
                if row["Votes"] != "N/A":
                    movie.votes = int(row["Votes"])
                    self.__total_votes += int(row["Votes"])
                    self.__votes_number_of_movies += 1
                if row["Revenue (Millions)"] != "N/A":
                    movie.revenue_millions = float(row["Revenue (Millions)"])
                    self.__total_revenue_millions += float(
                        row["Revenue (Millions)"])
                    self.__revenue_millions_number_of_movies += 1
                if row["Metascore"] != "N/A":
                    movie.metascore = int(row["Metascore"])
                    self.__total_metascore += int(row["Metascore"])
                    self.__metascore_number_of_movies += 1

                self.__dataset_of_movies.append(movie)
                self.__dataset_of_directors.add(Director(row["Director"]))
                for actor in row["Actors"].split(","):
                    self.__dataset_of_actors.add(Actor(actor.strip()))
                for genre in row["Genre"].split(","):
                    self.__dataset_of_genres.add(Genre(genre.strip()))
                index += 1
def parseMoviesAndRatings():
    inputFile = open("../dataset/movie_rating.txt")    
    lineString = inputFile.readline()
    movieRatingVector = np.zeros(0)
    global missing_count
        
    while(lineString):
        (movie_title,movie_year) = Movie.separateTitleAndYear(lineString.split("\t\t")[0].strip())
        movie_rating = float(lineString.split("\t\t")[1].strip())        
        
        if(not movie_title in Movie.hashByTitle):
            movie = Movie(movie_title,rating=movie_rating)
            missing_count = missing_count + 1
        else:    
            movie = Movie.hashByTitle[movie_title]
        
        movie.rating = movie_rating
        
        movieRatingVector = np.append(movieRatingVector,movie_rating)
        
        lineString = inputFile.readline()     
                
        if(movie.id%100000 == 0):
            print movie      
    
    arrayToSave = np.asarray(movieRatingVector)
    np.savetxt("./movie_rating_vector.csv", arrayToSave, delimiter=",")
def test_rating_out_bounds_upper(movie):
    movie = Movie("Moana", 2016)
    with pytest.raises(ValueError):
        movie.rating = 10.5
def test_rating_type(movie):
    movie = Movie("Moana", 2016)
    with pytest.raises(ValueError):
        movie.rating = "banana"
def test_rating(movie):
    movie = Movie("Moana", 2016)
    movie.rating = 9.5
    assert movie.rating == 9.5