import os import pandas import numpy as np import progressbar from matplotlib import pyplot as plt station = 7460 # clermont ferand <3 downlaod = True if downlaod : print("Suppresion des fichiers existants") os.system("rm -rf data") os.system("mkdir data") print("Début du téléchargement depuis météo france") for annee in progressbar.progressbar(range(1996,2021)) : for moi in range(1,13) : titre = f'{annee:04d}{moi:02d}' os.system(f'wget -q https://donneespubliques.meteofrance.fr/donnees_libres/Txt/Synop/Archive/synop.{titre}.csv.gz -P data') os.chdir("data") os.system(f"gzip -vd *") os.chdir("..") donnees = {} for nom in os.listdir("data") : csv = pandas.read_csv(f"data/{nom}",sep=";") extraction = csv[csv["numer_sta"]==station][["date","t"]].values.tolist() for i in range(len(extraction)) : mesure = int(extraction[i][0]//1e6//7) if mesure not in donnees : donnees[mesure] = [] try : donnees[mesure].append(float(extraction[i][1])) except ValueError : print(f"Erreur de valeur pour la date {extraction[i][0]} : {extraction[i][1]}") clefs = list(donnees.keys()) clefs.sort() table = np.zeros(len(clefs)) for i, clef in enumerate(clefs) : somme = 0 for j in range(len(donnees[clef])) : somme += donnees[clef][j] if len(donnees[clef]) > 0 : table[i] = somme/len(donnees[clef]) else : table[i] = table[i-1] plt.plot(np.array(range(len(table)))/52-len(table)/52,table,"bo") np.save("dataset.npy", table) print("sauvegardé") plt.show()