main.py
import pandas as pd
"""
Criar a base de dados para armazenar as movimentações
"""
# Ticker, Qtd. de papéis, Valor pago, data; ok
# Valor aplicado(Qtd. de papéis * Valor pago);
# Preço Médio(Total aplicado/Qtd. papéis);
# Total aplicado(Somatório dos valores aplicados);
# Total papéis(Somatório das Qtd. de papéis);
# Proventos.
# Criando as colunas do DF
columns = ['Ticker', 'Qtd_de_papeis', 'Valor_pago', 'Data']
# Criando as linhas do DF
rows = {}
# Método para adicionar itens ao DF
# Criando o DF
df = pd.DataFrame(data=rows, index=[0], columns=columns)
"""
Criar função aporte
"""
# Ticker
# Qtd. de papéis
# Valor Pago
# Data
# Adicionar evento à base de movimentações
"""
Criar função Resgate
"""
# Ticker
# Qtd. de papéis
# Valor de Venda
# Data
# Adicionar evento à base de movimentações
"""
Calcular as variáveis a serem apresentadas
"""
# Preço Médio(Total aplicado/Qtd. papéis)
# Total aplicado(Somatório dos valores aplicados) ou(Valor Médio * Qtd. papéis)
# Total papéis(Somatório das Qtd. de papéis)
# Saldo Bruto(Total aplicado - (Total de papéis * Última cotação)
# Rentabilidade da aplicação(((Saldo Bruto / Total aplicado)*1oo)-100)
# Peso na Carteira((Saldo Bruto / Saldo Bruto da carteira)*100)
# Saldo Bruto da carteira(Somatório do Saldo Bruto)
# Rentabilidade Total da carteira(Saldo Bruto da carteira / Valor aplicado da carteira)*100
# Valor aplicado da carteira(Somatório do total aplicado)
"""
Situação atual da carteira
"""
# Saldo Bruto da carteira(Somatório do Saldo Bruto)
# Rentabilidade Total da carteira(Saldo Bruto da carteira / Valor aplicado da carteira)*100
# Valor aplicado da carteira(Somatório do total aplicado)
cadastro.py
from PySimpleGUI import PySimpleGUI as sg
import main
import pandas as pd
# Layout
sg.theme('Reddit')
layout = [
[sg.Text('Ticker: '), sg.Input(key='Ticker')],
[sg.Text('Quantidade de Papéis: '), sg.Input(key='Qtd_de_papeis')],
[sg.Text('Valor: '), sg.Input(key='Valor_pago')],
[sg.Text('Data:'), sg.Input(key='Data')],
[sg.Button('Adicionar')]
]
# Janela
window = sg.Window('Tela de Cadastro', layout)
# Ler os eventos
while True:
events, values = window.read()
if events == sg.WINDOW_CLOSED:
break
if events == 'Adicionar':
main.rows = values
df = pd.DataFrame(data=main.rows, index=[0], columns=main.columns)
print(df)
df.to_csv('dados/registro.csv', sep=';')
Com esse código, consigo apenas criar um arquivo csv novo toda vez que rodo o código, mas gostaria de saber como faço para em vez de criar um csv novo, apenas adicionar uma linha a um arquivo csv ja existente, com o sistema de cadastro que tenho codado.