[PYTHON] Agréger le classement des vues Spotify et enregistrer dans Excel

introduction

Je pense qu'il y a beaucoup de gens qui aiment Spotify lorsqu'ils écoutent de la musique. C'est une fonctionnalité très utile, mais malheureusement je ne peux pas voir le nombre de vues.

Au lieu de cela, Spotify propose un service qui vous permet de télécharger des données personnelles telles que l'historique de lecture. Cette fois, j'aimerais utiliser ces données personnelles pour agréger le nombre de vues et l'enregistrer dans Excel. ʻOpenPyXL` est utilisé, donc si vous ne l'avez pas installé, veuillez l'installer à l'avance.

Le code utilisé cette fois est créé en se référant à l'article suivant. Veuillez télécharger les données personnelles à l'avance en vous référant aux articles suivants.

Article de référence: Organiser les chansons jouées dans Spotify par ordre de nombre de vues

code

count.py


import json
import collections
import openpyxl

#Lire les données JSON
with open('StreamingHistory0.json', 'r', encoding='utf-8') as f:
    d = json.load(f)

list = []

search_all = str(input('Search for all? (y/n) >> '))

#Retirez le titre de la chanson et ajoutez-le à la liste
#Recherche complète
if search_all == "y":
    for i in d:
        list.append(i['trackName'])
#Recherche spécifiée
else:
    artist = str(input('Enter the artist name. >> '))
    for i in d:
        if(i['artistName'] == artist):
            list.append(i['trackName'])

#Obtenir les éléments par ordre d'apparition
c = collections.Counter(list)
c_list = c.most_common()

#Créer un classeur
book = openpyxl.Workbook()

#Récupérez la feuille et renommez-la
sheet = book.active
sheet.title = 'Play Count'

#Faites correspondre la longueur de la colonne au titre de la chanson
max_length = 0

for index, row in enumerate(c_list):
    if index <= 10: #Classement à agréger
        sheet.append(row)
        if len(row[0]) > max_length:
            max_length = len(row[0])

sheet.column_dimensions['A'].width = max_length

#Enregistrer le classeur
book.save('SpotifyCount.xlsx')

En plus de la sortie vers Excel, j'ai essayé de spécifier le codage et de le formater. Dans le code ci-dessus, le classement de l'agrégation est jusqu'à 10e, mais veuillez changer ici si nécessaire.

Résultat d'exécution

Dans le cas d'une recherche complète, le classement général est enregistré, et dans le cas d'une recherche spécifiée, le classement de l'artiste spécifié est enregistré sur la feuille Excel.

Recommended Posts

Agréger le classement des vues Spotify et enregistrer dans Excel
Comment diviser et enregistrer un DataFrame
Fonctionnalités de classement Spotify [8 / 17-8 / 23]
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2 2
J'ai essayé de lire et d'enregistrer automatiquement avec VOICEROID2
Enregistrer des listes, des dictionnaires et des taples dans des fichiers externes python
[TF] Comment enregistrer et charger les paramètres d'entraînement Tensorflow