Beispiel #1
0
def run():
    musixMatch = Musixmatch(environ["API_KEY"])
    dataService = DataService()
    countryService = CountryService()

    # LANGUAGE
    languagetable = LanguageDetectionService().get_language_table(
        dataService.all_lyrics)
    languagetable.name = "language"

    # MUSIXMATCH
    entries = dataService.all_entries
    track_info = musixMatch.label_entries(entries)
    tracktable = DataCleanUpService.make_track_information_table(track_info)

    # COUNTRY
    countries = dataService.all_countries
    country_info = countryService.get_country_info(countries)
    countrytable = DataCleanUpService.make_country_information_table(
        dataService.all_countries, country_info)

    # COMBINE
    df = (dataService.contestants.join(languagetable, how="left").join(
        tracktable, how="left").merge(countrytable,
                                      how="left",
                                      left_on="to_country",
                                      right_on="to_country"))

    # OUTPUT
    df.to_pickle("contestdata.pickle")
    df.to_feather("contestdata.arrow")
    df.to_csv("contestantdata.csv", quoting=csv.QUOTE_NONNUMERIC)