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:
BIN
modulos/__pycache__/aux.cpython-312.pyc
Normal file
BIN
modulos/__pycache__/aux.cpython-312.pyc
Normal file
Binary file not shown.
74
modulos/aux.py
Normal file
74
modulos/aux.py
Normal file
@ -0,0 +1,74 @@
|
||||
# script com funções auxiliares
|
||||
|
||||
import csv
|
||||
|
||||
# gravar dados importados para ficheiro csv
|
||||
def gravar_dados_ficheiro_csv(
|
||||
nome_ficheiro: str,
|
||||
dados_importados: list,
|
||||
campos: list
|
||||
) -> None:
|
||||
"""
|
||||
Guarda dados em um ficheiro CSV.
|
||||
|
||||
Args:
|
||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
||||
dados_importados (list): Uma lista de dicionários com os dados a serem
|
||||
gravados.
|
||||
campos (list): Uma lista com os nomes dos campos a serem gravados.
|
||||
|
||||
Raises:
|
||||
ValueError: Se algum dos argumentos não for do tipo esperado.
|
||||
|
||||
Returns:
|
||||
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)
|
||||
|
||||
# carregar dados de ficheiro csv e guardar em lista
|
||||
def carregar_dados_ficheiro_csv(
|
||||
nome_ficheiro: str,
|
||||
campos: list
|
||||
) -> list:
|
||||
"""
|
||||
Carrega dados de um ficheiro CSV e retorna uma lista de dicionários.
|
||||
|
||||
Args:
|
||||
nome_ficheiro (str): O nome do ficheiro CSV.
|
||||
campos (list): Uma lista de nomes de campos correspondentes aos
|
||||
chaves dos dicionários.
|
||||
|
||||
Raises:
|
||||
ValueError: Se algum dos argumentos for inválido.
|
||||
|
||||
Returns:
|
||||
list: Uma lista de dicionários contendo os dados do ficheiro CSV.
|
||||
|
||||
"""
|
||||
# validacao de metodos da funcao
|
||||
if not isinstance(nome_ficheiro, str):
|
||||
raise ValueError('\'nome_ficheiro\' não é do tipo \'str\'')
|
||||
if not isinstance(campos, list):
|
||||
raise ValueError('\'campos\' não é do tipo \'list\'')
|
||||
|
||||
with open(nome_ficheiro, 'r', newline='') as ficheiro_csv_historico_precos:
|
||||
ficheiroCSV = csv.DictReader(
|
||||
ficheiro_csv_historico_precos,
|
||||
fieldnames=campos)
|
||||
lista_linhas_ficheiro_csv: list = []
|
||||
for linha in ficheiroCSV:
|
||||
lista_linhas_ficheiro_csv.append(linha)
|
||||
return lista_linhas_ficheiro_csv
|
||||
Reference in New Issue
Block a user