python pandas read_excel返回describe()上的UnicodeDecodeError

我喜欢pandas,但是我遇到了Unicode错误的实际问题。 read_excel()返回可怕的Unicode错误:

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) 

我发现原来的Excel在许多单元格的末尾都有(非空格),可能会避免将长数字string转换为浮点数。

解决这个问题的方法之一是去除细胞,但是一定要有更好的东西。

 for col in df.columns: df[col]=df[col].str.strip() 

我使用的是anaconda2.2.0 win64,pandas0.16

尝试

 df=pd.read_excel('tmp.xlsx',encoding='iso-8859-1') 

如果它仍然不起作用,也许尝试将您的Excel文件保存为csv,并使用pd.read_csv

尝试这里build议的这个方法:

 df=pd.read_excel('tmp.xlsx',encoding='sys.getfilesystemencoding()') 

希望这可以帮助别人..

我有这个错误…

 UnicodeDecodeError: 'ascii' codec can't decode byte .... 

读取一个Excel文件df = pd.read_excel...并尝试为此数据df = pd.read_excel...指定一个新列df['new_col'] = 'foo bar'

仔细检查之后,我发现问题是…dataframe中有一些'nan'列由于缺less列标题..在使用下面的代码删除“南”列之后,其他一切都正常。

 df = df.dropna(axis=1,how='all')