criação de ficheiro 'aux.py' com funções auxiliares (como gravar e carregar ficheiros);

aidionado gráfico de velas
This commit is contained in:
2024-07-22 10:56:38 +01:00
parent b08d442640
commit 2a9e244d00
5 changed files with 198 additions and 28 deletions

View File

@ -9,6 +9,9 @@
# . documentação API: https://docs.coingecko.com/v3.0.1/reference/introduction
# . obter OHLC: https://docs.coingecko.com/v3.0.1/reference/coins-id-ohlc
import requests
import pandas as pd
import mplfinance as mpf
import modulos.aux as aux
url_raiz_API = 'https://api.coingecko.com/api/v3/'
@ -50,7 +53,9 @@ if (not os.path.exists(caminho_ficheiro_historico_csv)):
ficheiroCSV = csv.DictWriter(ficheiro, fieldnames=cabecalho)
ficheiroCSV.writeheader()
ficheiro.close()
with open(caminho_ficheiro_historico_csv, '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:
@ -80,23 +85,26 @@ for item_resposta in lista_linhas_resposta:
if not item_existe:
lista_linhas_ficheiro_csv.append(item_resposta)
# gravar dados importados
def gravar_dados_ficheiro_csv(
nome_ficheiro: str,
dados_importados: list,
campos: list = cabecalho
) -> None:
# validacao de parametros da funcao
if not isinstance(nome_ficheiro, str):
raise ValueError('\'nome_ficheiro\' não é do tipo \'str\'')
if not isinstance(dados_importados, list):
raise ValueError('\'dados_importados\' não é do tipo \'list\'')
if not isinstance(campos, list):
raise ValueError('\'campos\' não é do tipo \'list\'')
with open(nome_ficheiro, 'w', newline='') as ficheiro_csv_historico_precos:
ficheiroCSV = csv.DictWriter(ficheiro_csv_historico_precos, fieldnames=campos)
ficheiroCSV.writeheader()
ficheiroCSV.writerows(dados_importados)
aux.gravar_dados_ficheiro_csv(
caminho_ficheiro_historico_csv,
lista_linhas_ficheiro_csv,
cabecalho)
gravar_dados_ficheiro_csv(caminho_ficheiro_historico_csv, lista_linhas_ficheiro_csv)
dados = aux.carregar_dados_ficheiro_csv(
caminho_ficheiro_historico_csv,
cabecalho)
print(dados)
# # mostrar dados com mplfinance
# daily = pd.read_csv(caminho_ficheiro_historico_csv, index_col=0)
# print(dail)
# daily.index.name = 'data_unix'
# daily.shape
# daily.head(3)
# daily.tail(3)
# # plotar grafico
# mpf.plot(daily)