diff --git a/crypto_portfolio.py b/crypto_portfolio.py index 52ddb32..09b12d4 100644 --- a/crypto_portfolio.py +++ b/crypto_portfolio.py @@ -50,7 +50,7 @@ if response.status_code == 200: #date = time.ctime(data['prices'][index][0]/1000) date_as_string = time.strftime("%d/%m/%Y", time.gmtime(data['prices'][index][0]/1000)) price = data['prices'][index][1] - print(f'{date_as_string} -> {price}') + print(f'{date_as_string} -> {price:.2f}') # ohlc = [ data[0][1], data[0][2], data[0][3], data[0][4] ] diff --git a/historico_precos.csv b/historico_precos.csv index 7d90367..fdacddf 100644 --- a/historico_precos.csv +++ b/historico_precos.csv @@ -1,10 +1,4 @@ data_unix,criptomoeda,vs_currency,preco_abertura,preco_maximo,preco_minimo,preco_fecho -1713700800000,bitcoin,eur,61094.533,61376.334,60766.894,61175.368 -1713715200000,bitcoin,eur,61200.502,61280.684,60802.855,60986.746 -1713729600000,bitcoin,eur,60984.601,60984.601,60327.332,60775.547 -1713744000000,bitcoin,eur,60587.886,61155.753,60506.872,60924.519 -1713758400000,bitcoin,eur,60907.455,61896.493,60517.99,61896.493 -1713772800000,bitcoin,eur,61770.036,62364.853,61540.303,61992.226 1713787200000,bitcoin,eur,61978.521,62133.222,61830.276,61966.167 1713801600000,bitcoin,eur,61966.502,62455.16,61807.264,62014.949 1713816000000,bitcoin,eur,62010.752,62680.938,61982.604,62333.08 @@ -161,8 +155,11 @@ data_unix,criptomoeda,vs_currency,preco_abertura,preco_maximo,preco_minimo,preco 1715990400000,bitcoin,eur,61542.79,61631.878,61326.666,61631.878 1716004800000,bitcoin,eur,61637.345,61653.492,61354.148,61569.76 1716019200000,bitcoin,eur,61562.383,61792.146,61372.158,61524.584 +1716033600000,bitcoin,eur,61440.763,61929.546,61440.763,61723.091 1716048000000,bitcoin,eur,61803.901,61817.786,61300.415,61479.106 +1716062400000,bitcoin,eur,61467.014,61600.035,61364.536,61485.891 1716076800000,bitcoin,eur,61576.764,61607.487,61434.402,61502.733 +1716091200000,bitcoin,eur,61527.537,61845.923,61462.965,61727.938 1716105600000,bitcoin,eur,61753.127,61786.918,61506.822,61754.45 1716120000000,bitcoin,eur,61808.823,62146.377,61512.551,61829.506 1716134400000,bitcoin,eur,61818.297,61818.297,61273.898,61479.361 @@ -176,187 +173,9 @@ data_unix,criptomoeda,vs_currency,preco_abertura,preco_maximo,preco_minimo,preco 1716249600000,bitcoin,eur,64503.451,65943.499,63563.754,65770.16 1716264000000,bitcoin,eur,65802.483,65975.604,65228.892,65696.469 1716278400000,bitcoin,eur,65674.318,65676.24,65256.286,65302.927 -bla,ble,bli,blo,blu,42,fim -1716033600000,bitcoin,eur,61440.763,61929.546,61440.763,61723.091 -1716091200000,bitcoin,eur,61527.537,61845.923,61462.965,61727.938 -1716062400000,bitcoin,eur,61467.014,61600.035,61364.536,61485.891 -1713700800000,dogecoin,eur,0.153,0.153,0.151,0.152 -1713715200000,dogecoin,eur,0.152,0.152,0.149,0.15 -1713729600000,dogecoin,eur,0.15,0.15,0.146,0.148 -1713744000000,dogecoin,eur,0.148,0.15,0.148,0.148 -1713758400000,dogecoin,eur,0.148,0.152,0.147,0.152 -1713772800000,dogecoin,eur,0.151,0.153,0.151,0.151 -1713787200000,dogecoin,eur,0.151,0.152,0.15,0.15 -1713801600000,dogecoin,eur,0.15,0.152,0.148,0.149 -1713816000000,dogecoin,eur,0.149,0.152,0.149,0.15 -1713830400000,dogecoin,eur,0.15,0.153,0.15,0.151 -1713844800000,dogecoin,eur,0.151,0.152,0.149,0.149 -1713859200000,dogecoin,eur,0.149,0.15,0.147,0.148 -1713873600000,dogecoin,eur,0.148,0.149,0.147,0.148 -1713888000000,dogecoin,eur,0.148,0.151,0.148,0.151 -1713902400000,dogecoin,eur,0.151,0.152,0.15,0.151 -1713916800000,dogecoin,eur,0.151,0.151,0.149,0.149 -1713931200000,dogecoin,eur,0.15,0.153,0.149,0.152 -1713945600000,dogecoin,eur,0.152,0.152,0.15,0.151 -1713960000000,dogecoin,eur,0.151,0.153,0.15,0.153 -1713974400000,dogecoin,eur,0.153,0.153,0.144,0.144 -1713988800000,dogecoin,eur,0.143,0.145,0.142,0.144 -1714003200000,dogecoin,eur,0.143,0.143,0.14,0.141 -1714017600000,dogecoin,eur,0.141,0.143,0.14,0.141 -1714032000000,dogecoin,eur,0.141,0.142,0.139,0.14 -1714046400000,dogecoin,eur,0.14,0.141,0.138,0.14 -1714060800000,dogecoin,eur,0.14,0.141,0.138,0.141 -1714075200000,dogecoin,eur,0.141,0.142,0.141,0.142 -1714089600000,dogecoin,eur,0.142,0.143,0.141,0.141 -1714104000000,dogecoin,eur,0.141,0.141,0.138,0.141 -1714118400000,dogecoin,eur,0.14,0.141,0.14,0.14 -1714132800000,dogecoin,eur,0.14,0.141,0.14,0.14 -1714147200000,dogecoin,eur,0.14,0.141,0.138,0.138 -1714161600000,dogecoin,eur,0.139,0.14,0.138,0.14 -1714176000000,dogecoin,eur,0.14,0.14,0.138,0.138 -1714190400000,dogecoin,eur,0.138,0.139,0.135,0.137 -1714204800000,dogecoin,eur,0.137,0.137,0.136,0.136 -1714219200000,dogecoin,eur,0.136,0.136,0.134,0.135 -1714233600000,dogecoin,eur,0.135,0.137,0.135,0.136 -1714248000000,dogecoin,eur,0.136,0.14,0.136,0.138 -1714262400000,dogecoin,eur,0.138,0.138,0.137,0.138 -1714276800000,dogecoin,eur,0.138,0.141,0.138,0.14 -1714291200000,dogecoin,eur,0.14,0.141,0.14,0.14 -1714305600000,dogecoin,eur,0.14,0.14,0.139,0.139 -1714320000000,dogecoin,eur,0.139,0.141,0.139,0.14 -1714334400000,dogecoin,eur,0.14,0.141,0.14,0.14 -1714348800000,dogecoin,eur,0.14,0.14,0.137,0.137 -1714363200000,dogecoin,eur,0.137,0.138,0.135,0.135 -1714377600000,dogecoin,eur,0.135,0.135,0.131,0.132 -1714392000000,dogecoin,eur,0.132,0.133,0.131,0.131 -1714406400000,dogecoin,eur,0.131,0.134,0.131,0.133 -1714420800000,dogecoin,eur,0.133,0.134,0.131,0.131 -1714435200000,dogecoin,eur,0.131,0.135,0.131,0.134 -1714449600000,dogecoin,eur,0.134,0.136,0.132,0.134 -1714464000000,dogecoin,eur,0.134,0.135,0.132,0.133 -1714478400000,dogecoin,eur,0.133,0.133,0.126,0.126 -1714492800000,dogecoin,eur,0.126,0.127,0.125,0.125 -1714507200000,dogecoin,eur,0.126,0.126,0.122,0.123 -1714521600000,dogecoin,eur,0.122,0.126,0.122,0.125 -1714536000000,dogecoin,eur,0.125,0.125,0.121,0.124 -1714550400000,dogecoin,eur,0.124,0.125,0.117,0.117 -1714564800000,dogecoin,eur,0.117,0.117,0.114,0.117 -1714579200000,dogecoin,eur,0.117,0.119,0.113,0.113 -1714593600000,dogecoin,eur,0.113,0.124,0.113,0.119 -1714608000000,dogecoin,eur,0.119,0.122,0.118,0.121 -1714622400000,dogecoin,eur,0.121,0.122,0.117,0.118 -1714636800000,dogecoin,eur,0.118,0.119,0.116,0.118 -1714651200000,dogecoin,eur,0.118,0.123,0.118,0.123 -1714665600000,dogecoin,eur,0.123,0.125,0.121,0.125 -1714680000000,dogecoin,eur,0.125,0.125,0.124,0.124 -1714694400000,dogecoin,eur,0.124,0.125,0.122,0.123 -1714708800000,dogecoin,eur,0.123,0.126,0.122,0.126 -1714723200000,dogecoin,eur,0.126,0.126,0.123,0.123 -1714737600000,dogecoin,eur,0.123,0.124,0.122,0.123 -1714752000000,dogecoin,eur,0.123,0.129,0.123,0.129 -1714766400000,dogecoin,eur,0.129,0.131,0.129,0.13 -1714780800000,dogecoin,eur,0.13,0.137,0.13,0.136 -1714795200000,dogecoin,eur,0.136,0.141,0.136,0.139 -1714809600000,dogecoin,eur,0.139,0.141,0.139,0.14 -1714824000000,dogecoin,eur,0.14,0.149,0.14,0.147 -1714838400000,dogecoin,eur,0.147,0.156,0.147,0.151 -1714852800000,dogecoin,eur,0.151,0.151,0.147,0.15 -1714867200000,dogecoin,eur,0.15,0.151,0.148,0.149 -1714881600000,dogecoin,eur,0.149,0.15,0.144,0.146 -1714896000000,dogecoin,eur,0.147,0.151,0.147,0.15 -1714910400000,dogecoin,eur,0.15,0.15,0.149,0.149 -1714924800000,dogecoin,eur,0.149,0.15,0.148,0.15 -1714939200000,dogecoin,eur,0.151,0.151,0.149,0.151 -1714953600000,dogecoin,eur,0.151,0.151,0.148,0.15 -1714968000000,dogecoin,eur,0.15,0.153,0.15,0.15 -1714982400000,dogecoin,eur,0.15,0.153,0.15,0.152 -1714996800000,dogecoin,eur,0.152,0.157,0.149,0.15 -1715011200000,dogecoin,eur,0.151,0.151,0.144,0.147 -1715025600000,dogecoin,eur,0.147,0.147,0.143,0.145 -1715040000000,dogecoin,eur,0.146,0.147,0.145,0.145 -1715054400000,dogecoin,eur,0.145,0.147,0.143,0.144 -1715068800000,dogecoin,eur,0.144,0.145,0.144,0.145 -1715083200000,dogecoin,eur,0.145,0.148,0.145,0.145 -1715097600000,dogecoin,eur,0.145,0.147,0.144,0.145 -1715112000000,dogecoin,eur,0.145,0.146,0.142,0.143 -1715126400000,dogecoin,eur,0.143,0.143,0.139,0.14 -1715140800000,dogecoin,eur,0.14,0.141,0.139,0.141 -1715155200000,dogecoin,eur,0.141,0.141,0.137,0.138 -1715169600000,dogecoin,eur,0.138,0.139,0.137,0.137 -1715184000000,dogecoin,eur,0.137,0.14,0.136,0.138 -1715198400000,dogecoin,eur,0.138,0.14,0.136,0.137 -1715212800000,dogecoin,eur,0.137,0.137,0.132,0.134 -1715227200000,dogecoin,eur,0.133,0.137,0.133,0.137 -1715241600000,dogecoin,eur,0.137,0.138,0.136,0.136 -1715256000000,dogecoin,eur,0.136,0.136,0.134,0.136 -1715270400000,dogecoin,eur,0.136,0.139,0.136,0.138 -1715284800000,dogecoin,eur,0.138,0.139,0.137,0.139 -1715299200000,dogecoin,eur,0.139,0.143,0.139,0.141 -1715313600000,dogecoin,eur,0.141,0.141,0.139,0.14 -1715328000000,dogecoin,eur,0.14,0.142,0.14,0.141 -1715342400000,dogecoin,eur,0.142,0.142,0.139,0.14 -1715356800000,dogecoin,eur,0.14,0.141,0.134,0.134 -1715371200000,dogecoin,eur,0.135,0.135,0.133,0.133 -1715385600000,dogecoin,eur,0.133,0.134,0.132,0.134 -1715400000000,dogecoin,eur,0.133,0.135,0.133,0.134 -1715414400000,dogecoin,eur,0.133,0.135,0.133,0.134 -1715428800000,dogecoin,eur,0.134,0.134,0.132,0.133 -1715443200000,dogecoin,eur,0.133,0.135,0.133,0.134 -1715457600000,dogecoin,eur,0.134,0.135,0.134,0.134 -1715472000000,dogecoin,eur,0.134,0.134,0.132,0.132 -1715486400000,dogecoin,eur,0.133,0.134,0.133,0.133 -1715500800000,dogecoin,eur,0.133,0.134,0.13,0.13 -1715515200000,dogecoin,eur,0.13,0.133,0.13,0.133 -1715529600000,dogecoin,eur,0.133,0.133,0.132,0.133 -1715544000000,dogecoin,eur,0.133,0.133,0.13,0.131 -1715558400000,dogecoin,eur,0.131,0.131,0.13,0.131 -1715572800000,dogecoin,eur,0.131,0.132,0.127,0.127 -1715587200000,dogecoin,eur,0.128,0.132,0.127,0.132 -1715601600000,dogecoin,eur,0.133,0.135,0.132,0.133 -1715616000000,dogecoin,eur,0.133,0.142,0.132,0.142 -1715630400000,dogecoin,eur,0.141,0.145,0.138,0.14 -1715644800000,dogecoin,eur,0.14,0.14,0.137,0.138 -1715659200000,dogecoin,eur,0.138,0.139,0.137,0.139 -1715673600000,dogecoin,eur,0.139,0.141,0.137,0.141 -1715688000000,dogecoin,eur,0.141,0.141,0.137,0.14 -1715702400000,dogecoin,eur,0.141,0.143,0.136,0.137 -1715716800000,dogecoin,eur,0.137,0.137,0.134,0.135 -1715731200000,dogecoin,eur,0.135,0.136,0.134,0.134 -1715745600000,dogecoin,eur,0.134,0.136,0.134,0.135 -1715760000000,dogecoin,eur,0.135,0.137,0.134,0.137 -1715774400000,dogecoin,eur,0.138,0.14,0.137,0.138 -1715788800000,dogecoin,eur,0.138,0.142,0.137,0.14 -1715803200000,dogecoin,eur,0.139,0.141,0.138,0.141 -1715817600000,dogecoin,eur,0.141,0.144,0.141,0.143 -1715832000000,dogecoin,eur,0.143,0.146,0.141,0.145 -1715846400000,dogecoin,eur,0.145,0.145,0.143,0.144 -1715860800000,dogecoin,eur,0.144,0.144,0.142,0.142 -1715875200000,dogecoin,eur,0.143,0.143,0.138,0.139 -1715889600000,dogecoin,eur,0.139,0.14,0.138,0.138 -1715904000000,dogecoin,eur,0.138,0.138,0.137,0.138 -1715918400000,dogecoin,eur,0.138,0.139,0.138,0.139 -1715932800000,dogecoin,eur,0.139,0.141,0.138,0.141 -1715947200000,dogecoin,eur,0.142,0.142,0.14,0.141 -1715961600000,dogecoin,eur,0.14,0.143,0.14,0.143 -1715976000000,dogecoin,eur,0.144,0.144,0.141,0.141 -1715990400000,dogecoin,eur,0.141,0.143,0.141,0.143 -1716004800000,dogecoin,eur,0.143,0.144,0.142,0.144 -1716019200000,dogecoin,eur,0.144,0.144,0.142,0.142 -1716033600000,dogecoin,eur,0.142,0.144,0.142,0.143 -1716048000000,dogecoin,eur,0.144,0.144,0.14,0.141 -1716062400000,dogecoin,eur,0.141,0.141,0.14,0.141 -1716076800000,dogecoin,eur,0.141,0.141,0.14,0.141 -1716091200000,dogecoin,eur,0.141,0.143,0.14,0.143 -1716105600000,dogecoin,eur,0.143,0.143,0.141,0.141 -1716120000000,dogecoin,eur,0.141,0.141,0.139,0.14 -1716134400000,dogecoin,eur,0.14,0.14,0.137,0.138 -1716148800000,dogecoin,eur,0.138,0.138,0.137,0.137 -1716163200000,dogecoin,eur,0.137,0.138,0.136,0.137 -1716177600000,dogecoin,eur,0.137,0.139,0.137,0.139 -1716192000000,dogecoin,eur,0.139,0.141,0.137,0.139 -1716206400000,dogecoin,eur,0.139,0.14,0.139,0.139 -1716220800000,dogecoin,eur,0.139,0.141,0.139,0.14 -1716235200000,dogecoin,eur,0.14,0.145,0.14,0.145 -1716249600000,dogecoin,eur,0.145,0.153,0.144,0.152 -1716264000000,dogecoin,eur,0.153,0.154,0.149,0.151 -1716278400000,dogecoin,eur,0.151,0.151,0.148,0.15 +1716292800000,bitcoin,eur,65232.688,65639.583,65219.479,65581.954 +1716307200000,bitcoin,eur,65451.629,65754.802,64231.246,64231.246 +1716321600000,bitcoin,eur,64232.665,64690.942,63755.605,63932.812 +1716336000000,bitcoin,eur,63860.353,64759.141,63860.353,64653.893 +1716350400000,bitcoin,eur,64620.32,64698.697,64326.947,64413.279 +1716364800000,bitcoin,eur,64448.43,64486.217,63847.34,64313.395 diff --git a/portfolio.py b/portfolio.py index 28341ff..4aa29e1 100644 --- a/portfolio.py +++ b/portfolio.py @@ -24,17 +24,18 @@ headers = { } resposta = requests.get(url, headers= headers) + # carregar dados já existentes em ficheiro CSV (criar ficheiro se não existir) para dicionario import csv import os cabecalho: list = [ 'data_unix', 'criptomoeda', 'vs_currency', 'preco_abertura', 'preco_maximo', 'preco_minimo', 'preco_fecho' ] -caminho_ficheiro_csv_historico_bitcoin = './historico_precos.csv' -if (os.path.exists(caminho_ficheiro_csv_historico_bitcoin) == False): - ficheiro = open(caminho_ficheiro_csv_historico_bitcoin, 'w+', newline='') +caminho_ficheiro_historico_csv = './historico_precos.csv' +if (os.path.exists(caminho_ficheiro_historico_csv) == False): + ficheiro = open(caminho_ficheiro_historico_csv, 'w+', newline='') ficheiroCSV = csv.DictWriter(ficheiro, fieldnames=cabecalho) ficheiroCSV.writeheader() ficheiro.close() -with open(caminho_ficheiro_csv_historico_bitcoin, 'r', newline='') as ficheiro_csv_historico_precos: +with open(caminho_ficheiro_historico_csv, 'r', newline='') as ficheiro_csv_historico_precos: ficheiroCSV = csv.DictReader(ficheiro_csv_historico_precos) lista_linhas_ficheiro_csv: list = [] for linha in ficheiroCSV: @@ -55,15 +56,15 @@ for linha_resposta in resposta.json(): # adicionar items de lista_linhas_resposta se não existirem em lista_linhas_ficheiro_csv (aka: adicionar apenas items novos a lista_linhas_ficheiro_csv) for item_resposta in lista_linhas_resposta: - item_existe: bool= False + item_existe: bool = False for linha_ficheiro_csv in lista_linhas_ficheiro_csv: - if (item_resposta == linha_ficheiro_csv) and (item_resposta == linha_ficheiro_csv): + if (item_resposta == linha_ficheiro_csv): item_existe = True if not item_existe: lista_linhas_ficheiro_csv.append(item_resposta) # gravar dados importados -with open(caminho_ficheiro_csv_historico_bitcoin, 'w+', newline='') as ficheiro_csv_historico_precos: +with open(caminho_ficheiro_historico_csv, 'w', newline='') as ficheiro_csv_historico_precos: ficheiroCSV = csv.DictWriter(ficheiro_csv_historico_precos, fieldnames=cabecalho) ficheiroCSV.writeheader() ficheiroCSV.writerows(lista_linhas_ficheiro_csv)