Leitor de arquivos CSV para uma plataforma de aulas

Como eu poderia fazer um leitor de arquivos CSV que interaja com planilhas Excel que são atualizadas diariamente em uma plataforma de aulas? A plataforma em que trabalho conta com milhares de alunos e gostaria de criar um leitor que tenha uma interface (pode ser a do próprio Excel) e que também seja capaz de trocar informações com banco de dados.

  • O que eu precisaria dominar na linguagem Python para ser capaz disso?
  • O mesmo leitor de CSV também poderia ser utilizado em outras plataformas?
    Gostaria de dicas também, se possível. Agradeço muito!!

Atualizando a postagem:
Na plataforma que utilizamos, já é disponibilizado um csv atualizado com os alunos, a ideia seria pegar esse csv (todo dia a plataforma atualiza esse csv, então seria interessante criar alguma automação pro software baixar da plataforma e jogar os dados atualizados) já pronto e incluir num banco de dados, para, posteriormente, poder trabalhar com esse dados em campanhas ou até mesmo analisar algumas métricas.
Obs*: acredito que a empresa ainda não tenha um banco de dados próprio, ultimamente conta apenas com os dados já apresentados pelas plataformas, mas são dados soltos (precisa ficar colhendo dados de vários locais, como Hotmart, plataforma de aulas, comunidade, etc)

1 curtida

Para ler dados de uma planilha você pode usar a biblioteca pandas do Python!

Faça a instalação:

pip install pandas

Agora vamos supor que você tem uma planilha com as colunas: “Nome”, “E-mail”, “Matricula”.

import pandas as pd

caminho_do_arquivo = 'seu_arquivo.csv'
df = pd.read_csv(caminho_do_arquivo)

# convertemos o Dataframe para uma lista de dicionarios
lista_de_dicionarios = df.to_dict('records')

print(lista_de_dicionarios)

Saída

[
    {"Nome": "Guilherme", "E-mail": "email@email.com", "Matricula": "12345" },
    {"Nome": "Joao", "E-mail": "email2@email.com", "Matricula": "44444" },
    {"Nome": "Maria", "E-mail": "email3@email.com", "Matricula": "32323" },
]

Dessa forma você pode aproveitar essa lista e salvar em um banco de dados.
Porem, o ideal é a planilha ter o mesmo padrão sempre.
Se você exportar diferentes planilhas, você precisa fazer o script intermediario para normalizar os dados.

Banco de dados ( Peewee ORM )

Fiz um video no meu canal sobre introdução a banco de dados e uso de ORM na pratica.
A ORM é uma forma de interagir com banco de dados usando classes no Python.

Da uma olhada nesse video: https://www.youtube.com/watch?v=AALOmFY9SHM

Conclusão

O conhecimento básico de Python sobre listas, dicionarios, loops é necessario para você lidar com esse projeto que você quer construir. Além disso, conhecimento em ORMs como mencionei acima, para inserir no banco de dados.

Você pode tentar fazer experimentos de teste com esse script que te passei, assistir o video de ORM/Banco de dados para entender os fundamentos e tentar salvar no banco de dados esses dados.

Tente praticar, use o GPT passando o seu codigo e mostrando os erros para ele, dessa forma ele vai te guiar para fazer funcionar. Lembre-se de passar o contexto da forma certa, por exemplo:

Prompt: “Estou tentando criar um script que le uma planilha com as colunas X, Y, Z usando o pandas no Python. Após obter os dados desse CSV, quero converter em uma lista de dicionários. Após obter a lista de dicionários com os dados da planilha, quero salvar no banco de dados usando a ORM do Peewee. Segue o meu codigo que estou tentando fazer e o erro. Me explique onde estou errando e o que preciso fazer: ”.

Pode criar outros tópicos aqui no Talk Code sobre duvidas desse projeto. Mas a ideia é você tentar colocando em pratica para de fato aprender, afinal, o projeto só vai dar certo se você possuir o conhecimento para dar manutenção e aprimorar.

Videos para assistir

Abraços e boa sorte!