1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
from datetime import date, datetime
defaultDate = date(1900,1,1)
nbDate = 1200
MatrixDateTPX = [defaultDate for i in range(nbDate)]
MatrixDateOCDE = [defaultDate for i in range(nbDate)]
tabyearOCDE = [defaultDate for i in range(nbDate)]
# format du fichier cvs 'PIE_FRF-SEK.csv', ou les colonnes sont biens distinctes :
# Mois Moyenne FRA/SEK= Min FRA/SEK= Max FRA/SEK= Nb jours ouvrés
# 01/09/2019 0.016341 0.016213 0.016484 7
# 01/08/2019 0.016366 0.016292 0.016525 22
# 01/07/2019 0.016099 0.015999 0.016258 23
# ...
inpPIE = open ("PIE_FRF-SEK.csv", "r")
# format du fichier cvs "BdD-OCDE-PPP-1960-2018.csv", ou les colonnes sont biens distinctes :
# '4 lignes d'entête sans intérêt
# Date Australie Autriche Belgique
# 1960 0.700946 0.96508 0.861825
# 1961 0.701324 1.006974 0.863464
# 1962 0.68799 1.02202 0.857953
# ...
inpPPP = open ("BdD-OCDE-PPP-1960-2018.csv", "r")
enteteTPX = 0
retroDate = 0
for ligPIE in inpPIE :
# 1. suppression des caractères spéciaux
# 2. suppression des caractères inutiles " "
# 3. suppression des caractères de séparations ";" pas utile ici mais conservé
f1ligPIE = ligPIE.strip("\n\r")
f2ligPIE = f1ligPIE.strip("\t")
f3ligPIE = f2ligPIE.split(";")
# chargement du résultat dans la matrice de travail
# à prévoir : savoir combien de mois de l'année n sont chargé => info utile pour mise ne // avec PPP
if(enteteTPX > 0):
ymdDate = datetime.date.strptime(str(f3ligPIE[0]), '%d-%m-%Y')
#MatrixDateTPX[(nbDate-1)-retroDate] = datetime.strptime(ymdDate,'%Y-%m-%d')
retroDate += 1
enteteTPX += 1
inpPIE.close()
enteteOCDE = 0
retroDate = 0
for ligPPP in inpPPP :
# 1. suppression des caractères spéciaux
# 2. suppression des caractères inutiles " "
# 3. suppression des caractères de séparations ";" pas utile ici mais conservé
f1ligPPP = ligPPP.strip("\n\r")
f2ligPPP = f1ligPPP.strip("\t")
f3ligPPP = f2ligPPP.split(";")
# chargement du résultat dans la matrice de travail en commençant par la fin du tableau
# ici on récupère récupère des années, puis convertion en int avant convertion en date du premier de chaque mois
if(enteteOCDE > 3):
tabyearOCDE[retroDate] = int(f3ligPPP[0])
retroDate += 1
enteteOCDE += 1
inpPIE.close()
for i in range (0, retroDate):
MatrixDateOCDE[(nbDate-1) - (retroDate-1) + i] = date(tabyearOCDE[i],1,1) |
Partager