我有一个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
有人知道其他解决方案吗?
答案 0 :(得分:0)
您可以将默认编码设置为Cp1252
,然后尝试。那行得通。
import sys
reload(sys)
sys.setdefaultencoding('Cp1252')