Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Desafio: lendo dados com vários parâmetros - Tipo de codificação do arquivo CSV

No exercício proposto neste desafio, uma das tarefas é ler o arquivo csv utilizando o decoder ISO-8859-1, porém foi ensinado na aula anterior à usarmos a biblioteca "chardet" e conforme o exemplo da aula, abrir o documento e lê-lo utilizando o comando "print(chardet.detect(file.read()))".

Porém quando jogo a url do arquivo proposo no Desafio junto deste código, ele da o seguinte erro: "FileNotFoundError: [Errno 2] No such file or directory: 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/dados_sus.csv'". Aparentemente é algum erro de referência do arquivo, porém não estou conseguindo solucionar para verificar sua decodificação. Gostaria de uma ajuda se possível.

3 respostas
solução!

Olá Pedro,

Neste caso, o problema está no file.read(), pois, como a base de dados é um link e não um arquivo, não conseguimos usar a estrutura with como no exercício anterior.

Ao invés disso, você pode usar a biblioteca requests para obter a base de dados e ver o encoding, desta forma:

import requests

response = requests.get(url)
print(chardet.detect(response.content))

Rodando, você consiguirá retornar o encoding:

> {'encoding': 'ISO-8859-1', 'confidence': 0.73, 'language': ''}

Muito obrigado pela ajuda Vinícius, faz sentido agora!

Valeu!