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')