from GF_fundo import Fundo from datetime import date, timedelta from csv import writer as csvwriter if __name__ == '__main__': csv_delimiter = ';' quote_char = '"' interval = 20 # years # Last 20 years interval iniDate = date.today() - timedelta(days= 365 * interval) endDate = date.today() with open('FUNDOS.csv','wb') as f: arqcsv = csvwriter(f, delimiter=csv_delimiter,quotechar=quote_char) for idfundo in Fundo.FUNDS: fundoatual = Fundo(idfundo) fundoatual.updatePrices(iniDate, endDate) data = [ ( [idfundo, x] + y ) for x,y in fundoatual.prices.items() ] data = sorted(data,key=lambda x: x[1]) arqcsv.writerows(data) print("Download %s successful!" % ( idfundo ))
# Last 20 years interval iniDate = date.today() - timedelta(days=interval) endDate = date.today() with open('FUNDOS_GF_QUICKEN.csv','wb') as f: arqcsv = csvwriter(f, delimiter=csv_delimiter,quotechar=quote_char) fundsToDownload = ( 'FUNDO GERACAO DIVIDENDOS FIA', 'FUNDO GERACAO FIC DE FI REFERENCIADO DI', 'FUNDO GERACAO PROGRAMADO FIA', ) for idfundo in fundsToDownload: print("Downloading %-40s... " % ( idfundo ),end='') fundoatual = Fundo(idfundo) if fundoatual.updatePrices(iniDate, endDate): fundoatual.updateToday() data = [ ( [ 'GF_' + str(Fundo.FUNDS[idfundo]), qdate.strftime("%d/%m/%Y"), qvalue, qvolume] ) for qdate,(qvalue,qvolume) in fundoatual.prices.items() ] arqcsv.writerows(data) print("success!") else: print("ERROR!")