Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

2K
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!