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

Erro ao importar o arquivo

Prezados,

Informo que "Upei" o arquivo aluguel.csv no seguinte caminho, no Jupter: Projetos Python - Curso Pandas - Dados. Ao chamar o arquivo:

dados = pd.read_csv('dados/aluguel.csv', sep = ';')
dados

Acorre um erro de UTF-8. Conforme código abaixo:

---------------------------------------------------------------------------
UnicodeDecodeError                        Traceback (most recent call last)
<ipython-input-7-fd20c9ac923f> in <module>()
----> 1 dados = pd.read_csv('dados//5086-grad-08-01.csv', sep = ';')
      2 dados

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in parser_f(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, escapechar, comment, encoding, dialect, tupleize_cols, error_bad_lines, warn_bad_lines, skipfooter, doublequote, delim_whitespace, low_memory, memory_map, float_precision)
    676                     skip_blank_lines=skip_blank_lines)
    677 
--> 678         return _read(filepath_or_buffer, kwds)
    679 
    680     parser_f.__name__ = name

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    438 
    439     # Create the parser.
--> 440     parser = TextFileReader(filepath_or_buffer, **kwds)
    441 
    442     if chunksize or iterator:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, f, engine, **kwds)
    785             self.options['has_index_names'] = kwds['has_index_names']
    786 
--> 787         self._make_engine(self.engine)
    788 
    789     def close(self):

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in _make_engine(self, engine)
   1012     def _make_engine(self, engine='c'):
   1013         if engine == 'c':
-> 1014             self._engine = CParserWrapper(self.f, **self.options)
   1015         else:
   1016             if engine == 'python':

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in __init__(self, src, **kwds)
   1706         kwds['usecols'] = self.usecols
   1707 
-> 1708         self._reader = parsers.TextReader(src, **kwds)
   1709 
   1710         passed_names = self.names is None

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__()

pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._get_header()

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 1: invalid continuation byte
2 respostas
solução!

Oi Jeferson, como você está?

Para evitar esse erro, é necessário dizer explicitamente o tipo de codificação do arquivo, por exemplo:

dados = pd.read_csv('dados/aluguel.csv', encoding="utf-8", sep = ';')
dados

Por padrão, quando não especificamos o encoding, o Python irá pegar o enconding local do sistema e o seu provavelmente não é o uft8, por isso o erro é levantado. Tente especificar diretamente o tipo de codificação do arquivo e verifique se o erro irá persistir.

Qualquer dúvida estou por aqui, tá bom?

Abraços e bons estudos!

Oi Nádia, muitíssimo obrigado. Deu certo!