[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()

祝好