python pandas read_excel retourne UnicodeDecodeError sur describe()
J'aime les pandas, mais j'ai de réels problèmes avec l'Unicode des erreurs. read_excel() retourne le redoutable Unicode erreur:
import pandas as pd
df=pd.read_excel('tmp.xlsx',encoding='utf-8')
df.describe()
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
...
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 259: ordinal not in range(128)
J'ai compris que l'original Excel a (espace insécable) à la fin de nombreuses cellules, probablement pour éviter la conversion de longue chiffres chaînes de flotter.
Un moyen de contourner cela est de dépouiller les cellules, mais il doit y avoir quelque chose de mieux.
for col in df.columns:
df[col]=df[col].str.strip()
Je suis en utilisant anaconda2.2.0 win64, avec des pandas 0.16
cela a fonctionné pour moi une fois: df['somecol'].des valeurs.astype('unicode') github.com/pydata/pandas/issues/7758
Ne vous-même une grande faveur et basculer vers python3. Les problèmes de codage sont tous résolus dans python3.
Ne vous-même une grande faveur et basculer vers python3. Les problèmes de codage sont tous résolus dans python3.
OriginalL'auteur hsinger | 2015-06-10
Vous devez vous connecter pour publier un commentaire.
Essayer cette méthode suggérée ici:
OriginalL'auteur bejota
Espère que cela aide quelqu'un.
J'ai eu cette erreur:
après la lecture d'un Fichier Excel
df = pd.read_excel...
et essayez d'affecter une nouvelle colonne à la dataframe comme cedf['new_col'] = 'foo bar'
Après une inspection plus minutieuse, j'ai trouvé le problème. Il y avait quelques
'nan'
colonnes dans le dataframe dues à l'absence d'en-têtes de colonne. Après la chute de l' 'nan' des colonnes en utilisant le code suivant, tout le reste était ok.OriginalL'auteur ihightower