1
resposta
import csv

dicionario= [{'registro':'fabricio', 'nota': 8 },{ 'registro': 'paulo', 'nota': 6 },{'registro':'carlos','nota':7}]
with open('lista_alunos.csv','w', newline='', encoding='utf-8') as arquivo:
    tabela = csv.writer(arquivo, delimiter=',', )
    tabela.writerow(['nome', 'nota'])
    for i in dicionario:
        tabela.writerow(i.values())

with open( 'lista_alunos.csv', 'r', newline='', encoding='utf-8') as arquivo:
    reader = csv.DictReader(arquivo)

    for i in reader:
        nota= float(i['nota'])
        if nota >= 7:
            print(i['nome'],i['nota'])

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oi, Fabricio! Como vai?

No seu código, gostei de como você montou o dicionario e usou o csv.DictReader para filtrar quem atingiu a nota minima. A logica ficou clara e organizada.

Uma dica interessante para o futuro é usar writerow com chaves especificas quando quiser garantir a mesma ordem sempre. Veja este exemplo:


import csv

with open("exemplo.csv","w",newline="") as arq:
    w = csv.writer(arq)
    w.writerow(["nome","nota"])
    w.writerow(["ana",9])

Esse código grava duas colunas no arquivo CSV na ordem definida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!