Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

2K
Visualizações
Los pandas leyeron _excel: el códec 'utf-8' no puede decodificar el byte 0xa8 en la posición 14: byte de inicio no válido

Intentando leer el archivo MS Excel, versión 2016. El archivo contiene varias listas con datos. Archivo descargado de DataBase y se puede abrir en MS Office correctamente. En el siguiente ejemplo, cambié el nombre del archivo.

EDITAR: el archivo contiene palabras en ruso e inglés. Lo más probable es que haya usado la codificación Latin-1, pero encoding='latin-1' no ayuda

 import pandas as pd with open('1.xlsx', 'r', encoding='utf8') as f: data = pd.read_excel(f)

Resultado:

 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa8 in position 14: invalid start byte

Sin encoding ='utf8'

 'charmap' codec can't decode byte 0x9d in position 622: character maps to <undefined>

PS Task es procesar 52 archivos, fusionar datos en cada hoja con las hojas correspondientes en los 52 archivos. Por lo tanto, no manipule los consejos de trabajo.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

El problema es que el solicitante original está llamando a read_excel con un identificador de archivo como primer argumento. Como lo demostró el último en responder, el primer argumento debe ser una cadena que contenga el nombre del archivo.

Me encontré con este mismo error usando:

df = pd.read_excel(open("file.xlsx",'r'))

pero correcto es:

df = pd.read_excel("file.xlsx")

over 4 years ago · Santiago Trujillo Relatório

0

Lo más probable es que estés usando Python3. En Python2 esto no sucedería.

Los archivos xlsx son binarios (en realidad son un xml, pero están comprimidos), por lo que debe abrirlos en modo binario. Use esta llamada para abrir:

 open('1.xlsx', 'rb')

No hay un seguimiento completo, pero imagino que UnicodeDecodeError proviene del objeto del archivo, no de read_excel(). Eso sucede porque el flujo de bytes puede contener cualquier cosa, pero no queremos que la decodificación ocurra demasiado pronto; read_excel() debe recibir bytes sin procesar y poder procesarlos.

over 4 years ago · Santiago Trujillo Relatório

0

Lo más probable es que el problema esté en los símbolos rusos.

Charmap es el método de decodificación predeterminado que se utiliza en caso de que no se detecte ninguna codificación.

Como veo, si utf-8 y latin-1 no ayudan, intente leer este archivo no como

 pd.read_excel(f)

pero

 pd.read_table(f)

o incluso simplemente

 f.readline()

para verificar qué es un símbolo, genere una excepción y elimine este símbolo/símbolos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda