[python]df 写入 excel (2)
前篇文章用的是 pandas.to_excel()
实际上这种方法 可以新建 excel,但如果 excel 已存在,则会将原 excel 清 0,再写入 df。
有局限性······
仔细观察源码可以发现原因。
pandas 源码里有一个函数 to_csv(self, path=None, index=True, sep=“,”, na_rep=‘‘,float_format=None, header=False, index_label=None,mode=‘w’, encoding=None, date_format=None, decimal=’.’)
里面有一个参数 "mode", mode : Python write mode, default 'w'
而 to_excel 呢?
to_excel(self, excel_writer, sheet_name=‘Sheet1’, na_rep='', float_format=None, columns=None, header=True, index=True,index_label=None, startrow=0, startcol=0, engine=None,merge_cells=True, encoding=None, inf_rep=‘inf’, verbose=True)
我们没有看到 mode, 所以用这个方式没有模式选择,也就意味着 局限性不可解决······如果你可以有解决方式,请告诉我,thanks:)
所以我们可以选择另外一个方式解决,以下代码提供一个思路
import xlwings as xw
cell = "A1"
wb = xw.Book(path)
sht = wb.sheets[sheet_name]
sht.clear()
sht.range(cell).options(index=index, header=header).value = df # df是个dataframe,请自行组织。
wb.save()
wb.app.quit()
祝好
http://support.i-search.com.cn/article/1565773558780
系列前篇文章的链接在这里放一个撒,省得别人再去找了,哈哈哈。