On considère le lien ci-dessous :
https://opendata.paris.fr/explore/dataset/lieux-de-tournage-a-paris/information/?disjunctive.type_tournage&disjunctive.nom_tournage&disjunctive.nom_realisateur&disjunctive.nom_producteur&disjunctive.ardt_lieu
- Déterminer combien y a t il eu de tournages de family business S1 dans le 3eme arrondissement à Paris.
Télécharger le fichier csv contenant les données de la page.
L’ouvrir avec un editeur de texte. Que signifie .csv ?
Quel type de logiciel permet d’exploiter ce genre de données ?
Répondre à la question 1 en utilisant excell ou open office.
Télécharger le fichier .json
L’ouvrir avec un éditeur de texte. Quelles structures de données de python identifiez vous ?
Traitement d’un fichier .json en python :
- Créer un dossier json dans votre dossier dictionnaire de NSI et le nommer TP_cinema, y deposer le fichier json de vos données en le nommant lieux_tournages_Paris.json
- Ouvrir un fichier python et y mettre le code ci-dessous :
import json
with open('lieux_tournages_Paris.json') as json_data:
mes_donnees = json.load(json_data)
Enregistrer votre programme dans le dossier contenant votre fichier json et exécutez le.
Explorer la structure de la variable mes_donnees
- Ecrire une fonction permettant de déterminer combien il y a eu de lieux de tournages différents pour un nom de film ou série donné..
- Ecrire une fonction permettant de déterminer le(s) nom(s) des films ou séries tournées sur Parsi par un réalisateur.
Proposition de correction
import json
with open('lieux_tournages_Paris') as json_data:
mes_donnees = json.load(json_data)
def lieux_tournages(nom):
'''
>>>lieux_tournages('FAMILY BUSINESS S1')
19
'''
c=0
for tournage in mes_donnees:
if tournage['nom_tournage']==nom:
c+=1
return c
def series_films(nom):
'''
>>>series_films("ALEXANDRE LAURENT")
['LA MANTE', 'PROFILAGE/67 A 68/ SAISON 7', "CAT'S EYES",
'PROFILAGE EPISODES 101/102']
'''
retour=[]
for tournages in mes_donnees:
if tournages['nom_realisateur']==nom:
if not(tournages['nom_tournage'] in retour):
retour.append(tournages['nom_tournage'])
return retour