#------------------------------------------------------------------------------- # Name: DevisesOrtho test # Purpose: # # Author: sroger # # Created: 31/10/2019 # Copyright: (c) sroger 2019 # Licence: #------------------------------------------------------------------------------- #def main(): # pass #if __name__ == '__main__': # main() # Obkectif : # remplir le tableau MatrixDateTPX des dates les plus anciennes vers plus récentes # ces dernières devant se trouver en toute fin de tableau # remplir le tableau MatrixDateOCDE des dates reformatées en Y-m-d des plus anciennes au plus rétentes, # ces dernières devant se trouver en toute fin de tableau 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)