0
respostas

Criar um loop que para cada id de aluno cria uma dataframe e salva ele com o nome 'Alunos do curso de xxxx'

Estou em dúvida por que este código abaixo não está funcionando do jeito que eu acredito que deveria estar:

for id_curso in matriculas_por_curso:
    proxima_turma = matriculas.query('id_curso == {}'.format(id_curso))
    proxima_turma = proxima_turma.set_index('id_aluno').join(nomes.set_index('id_aluno'))['nome'].to_frame()
    nome_curso = cursos.loc[id_curso]
    nome_curso = nome_curso[0]
    proxima_turma = proxima_turma.rename(columns = {'nome': 'Alunos do curso de {}'.format(nome_curso)})
    proxima_turma.to_excel('Alunos do curso de {}.xlxs'.format(nome_curso), index = False)

EDIT: Consegui resolver com o código abaixo

for id_curso in matriculas_por_curso.index:
    proxima_turma = matriculas.query('id_curso == {}'.format(id_curso))
    proxima_turma = proxima_turma.set_index('id_aluno').join(nomes.set_index('id_aluno'))['nome'].to_frame()
    nome_curso = cursos.loc[id_curso]
    nome_curso = nome_curso[0]
    proxima_turma = proxima_turma.rename(columns = {'nome': 'Alunos do curso de {}'.format(nome_curso)})
    proxima_turma.to_excel('Alunos do curso de {}.xlsx'.format(nome_curso), index = False)