Nessa entrega, você poderá colocar em prática o que aprendeu sobre ler e escrever em arquivos csv e simular como seria uma rota de GET e de POST.
Esta entrega foi elaborada para você poder trabalhar seu conhecimento sobre leitura e escrita em arquivos CSV.
Crie um aquivo chamado kharacters.py nesse aquivo você irá colocar todas suas funções.
O cabeçalho do seu CSV deve seguir o seguinte padrão:
id,name,intelligence,power,strength,agility
- find_all_characters(filename)
- Parâmetros:
- filename: nome do arquivo que será aberto.
- Procedimento:
- Buscar por todos os personagens no arquivo CSV filename.
- Retorno:
- Retornar os personagens encontrados em formato de lista de dicionários.
- Retornar uma lista vazia, caso nenhum personagem tenha sido encontrado.
- Parâmetros:
Exemplos:
# Exemplo 1:
filename = "characters.csv"
found_character = find_all_characters(filename)
print(found_character)
> [{
"id": 1,
"name": "Hulk",
"intelligence": 9,
"power": 7,
"strength": 10,
"agility": 8
}]
- find_character_by_id(filename, character_id)
- Parâmetros:
- filename: nome do arquivo que será aberto.
- character_id: identificador único de cada personagem, representado pelo fieldname id.
- Procedimento:
- Buscar pelo personagem com id igual a character_id.
- Retorno:
- Retornar o personagem encontrado no formato de dicionário.
- Retornar None caso não tenha sido encontrado.
- Parâmetros:
Exemplos:
# Exemplo 1:
filename = "characters.csv"
character_id = 1
found_character = find_character_by_id(filename, character_id)
print(found_character)
> {
"id": 1,
"name": "Hulk",
"intelligence": 9,
"power": 7,
"strength": 10,
"agility": 8
}
# Exemplo 2:
filename = "characters.csv"
character_id = 2
found_character = find_character_by_id(filename, character_id)
print(found_character)
> None
- create_character(filename, **kwargs)
- Parâmetros:
- filename: nome do arquivo a ser escrito.
- **kwargs: os dados do personagem que será criado.
- Parâmetros:
- Procedimento:
- Se certificar de que existe fieldnames para o arquivo filename.
- Obter o id do novo personagem a ser criado (pegar o último id cadastrado e adicionar um).
- Inserir um novo personagem no arquivo filename.
- Retorno:
- Retornar o personagem criado em forma de dicionário.
Exemplos:
# EXEMPLO 1:
filename = "characters.csv"
new_character = {
"name": "Hulk",
"intelligence": 9,
"power": 7,
"strength": 10,
"agility": 8
}
created_character = create_character(filename, **new_character)
print(created_character)
> {
"id": 1,
"name": "Hulk",
"intelligence": 9,
"power": 7,
"strength": 10,
"agility": 8
}
Repositório
- Link do repositório do GitLab
- Código-fonte:
- Arquivo kharacters.py.
- Privacidade
- Incluir ka-br-out-2020-correcoes como reporter.
pts | Dado | Quando | É esperado |
---|---|---|---|
3.5 | Função create_character | Executada com seus devidos parâmetros | Um novo personagem é criado no arquivo com nome especificado em filename, a função retorna o personagem criado em forma de dicionário, contendo o id do personagem |
3.5 | Função find_character_by_id | Executada com seus devidos parâmetros | Um personagem é buscado e retornado em formato de dicionário |
3 | Função find_all_characters | Executada com seus devidos parâmetros | Uma lista de personagens em forma de dicionário é buscada e retornada |
Boa diversão, devs!🦸♂️