Preparando o Ambiente

  1. Primeiro, vamos importar as ferramentas que precisamos:
import firebase_admin
from firebase_admin import credentials, firestore, storage
import datetime
import pandas as pd
import json
import plotly.express as px
import plotly.figure_factory as ff

Essas são como caixas de ferramentas que nos ajudarão a trabalhar com dados e criar gráficos legais.

Conectando ao Firebase

  1. Agora, vamos nos conectar ao Firebase (que é como um grande armário onde guardamos nossos dados):
file_path = 'key.json'  
cred = credentials.Certificate(file_path)
firebase_admin.initialize_app(cred)
db = firestore.client()

Imagine que estamos pegando a chave do armário (key.json) e usando ela para abrir o Firebase.

Coletando Dados

  1. Vamos pegar os dados dos projetos e colocá-los em uma tabela:
projetos_ref = db.collection('projetos')
docs = projetos_ref.stream()
data_list = []
for doc in docs:
    data = doc.to_dict()
    data_list.append(data)
df = pd.DataFrame(data_list)
print(df)

É como se estivéssemos folheando um álbum de figurinhas e anotando as informações de cada uma.

Organizando os Dados

  1. Agora, vamos organizar melhor os dados que coletamos:
df_expanded = df['linha'].str.split(',', expand=True)
df_expanded.columns = [f'linha_{i+1}' for i in range(df_expanded.shape[1])]
df_linha = pd.concat([df.drop(columns=['linha']), df_expanded], axis=1)
print(df_linha)

Estamos separando as informações em colunas diferentes para ficar mais fácil de entender.

Criando Gráficos

  1. Vamos fazer um gráfico que mostra como os dados mudam com o tempo:
df['data_ingestao'] = pd.to_datetime(df['data_ingestao'])
fig = px.line(df_linha, x=df['data_ingestao'], y='linha_2', title='Série Temporal da Coluna Linha_2')
fig.show()