Tenho um arquivo Excel que se parece com este:
Na célula A1, o usuário pode selecionar uma opção e a seleção B1:E3 é usada como uma tabela de consulta para preencher as células A2:A3. Quero ler a tabela de consulta para python usando pandas.read_excel()
. No entanto, quando uso
df = pd.read_excel("workbook.xlsx", sheet_name="Sheet1", header=0, usecols="B:E", numrows=2)
um nome de coluna é registrado duas vezes e o segundo é aumentado com um sufixo ".1". Desde então pandas 2.x
, a configuração mangle_dup_cols=False
não é mais reconhecida. Infelizmente, não posso alterar o formato da planilha do Excel e preferiria não fazer downgrade de pandas
.
Como solução alternativa, atualmente leio a tabela para um DataFrame
with header=None
e então atribuo o índice de linha 0 como os nomes das colunas e descarto a primeira linha. Esta não é uma solução muito elegante e eu esperava que houvesse uma maneira melhor de fazer isso.
Não consigo encontrar uma substituição direta nos documentos, mas acho que uma solução alternativa mais simples seria não usar o
header=0
, em vez disso, usar uma regex para limpar os nomes das colunas: