Python Pandas writer.save()编码错误-UnicodeDecodeError:“ ascii”编解码器无法解码字节0x81

时间:2019-03-21 11:49:00

标签: python pandas

我有一个pandas数据框,正在尝试使用pandas to_excel函数将其导出到excel文件中。

我写了如下代码:

writer = pd.ExcelWriter(output_file_path, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False, encoding='utf-8')
writer.save()

错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0x81 in position 23: ordinal不在范围内(128)

我尝试了以下选项,但没有得到输出。

1)

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')

2)

def changeencode(data):
cols = data.columns
for col in cols:
if data[col].dtype == 'O':
    data[col] = data[col].str.decode('utf-8').str.encode('ascii', 'ignore')
return data  

有人知道其他解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以将默认编码设置为Cp1252,然后尝试。那行得通。

import sys
reload(sys)  
sys.setdefaultencoding('Cp1252')