Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

XLRDError: Excel xlsx file; not supported

A aula foi excelente e não tive nenhum problema no percurso, até o último passo, onde tentei ler o arquivo XLSX que criamos no fim da aula.

proxima_turma.to_excel('proxima_turma.xlsx') # o resultado foi o mesmo com ou sem o index=False
pd.read_excel('proxima_turma.xlsx')
---------------------------------------------------------------------------
XLRDError                                 Traceback (most recent call last)
<ipython-input-228-ff9839c9a371> in <module>
----> 1 pd.read_excel('proxima_turma.xlsx')

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    116                 else:
    117                     kwargs[new_arg_name] = new_arg_value
--> 118             return func(*args, **kwargs)
    119         return wrapper
    120     return _deprecate_kwarg

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\io\excel.py in read_excel(io, sheet_name, header, skiprows, skip_footer, index_col, names, usecols, parse_dates, date_parser, na_values, thousands, convert_float, converters, dtype, true_values, false_values, engine, squeeze, **kwds)
    228 
    229     if not isinstance(io, ExcelFile):
--> 230         io = ExcelFile(io, engine=engine)
    231 
    232     return io._parse_excel(

~\anaconda3\envs\alura_pandas\lib\site-packages\pandas\io\excel.py in __init__(self, io, **kwds)
    292             self.book = xlrd.open_workbook(file_contents=data)
    293         elif isinstance(self._io, compat.string_types):
--> 294             self.book = xlrd.open_workbook(self._io)
    295         else:
    296             raise ValueError('Must explicitly set engine if not passing in'

~\anaconda3\envs\alura_pandas\lib\site-packages\xlrd\__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)
    168     # files that xlrd can parse don't start with the expected signature.
    169     if file_format and file_format != 'xls':
--> 170         raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
    171 
    172     bk = open_workbook_xls(

XLRDError: Excel xlsx file; not supported

Estranhei especialmente porque, de acordo com a documentação do Pandas, a biblioteca já não deveria estar apta a ler arquivos XLSX por si própria?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeQue outra biblioteca eu poderia importar para ler arquivos XLSX?

1 resposta
solução!

Acabei eu mesmo resolvendo o problema! Não percebi que estava com uma versão bastante desatualizada do Pandas rodando. Usei o !pip instal --upgrade pandas, reiniciei o kernel e rodei de novo. Neste meio tempo, descobri que o XLRD removeu o suporte para arquivos .xlsx, então também instalei o openpyxl, rodei o código pd.read_excel('proxima_turma.xlsx', engine='openpyxl') e deu tudo certo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software