tushare使用get_stock_basic()保存为excel会因为乱码出错而无法保存
代码如下:
运行后会出错:
'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
很明显的是编问题。
然后尝试使用解决编码的步骤。
1. reload(sys) 设置default为utf-8: 失败
2. to_excel('stock.xls',encoding='gbk') : 失败,encoding参数换了几个都是失败,utf-8,gb2312,cp1252
最后解决的办法是,先把df保存为csv,然后再从csv从读取出来,然后再存储为excel。 整个过程的encoding参数都是用'gbk'.
basic=ts.get_stock_basics()
print basic.info()
print basic.head(10)
basic.to_excel('basic2017.xls',encoding='gbk')
运行后会出错:
'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
很明显的是编问题。
然后尝试使用解决编码的步骤。
1. reload(sys) 设置default为utf-8: 失败
2. to_excel('stock.xls',encoding='gbk') : 失败,encoding参数换了几个都是失败,utf-8,gb2312,cp1252
最后解决的办法是,先把df保存为csv,然后再从csv从读取出来,然后再存储为excel。 整个过程的encoding参数都是用'gbk'.
basic.to_csv('2017_all_price_change.xls',encoding='gbk')
df=pd.read_csv('2017_all_price_change.xls',encoding='gbk')
df.to_excel('2017_all_price_change.xls',encoding='gbk')