解决pandas .to_excel不覆盖已有sheet的问题

yipeiwu_com5年前Python基础

直接to_excel会被覆盖,借助ExcelWriter可以实现写多个sheet。

from openpyxl import load_workbook
excelWriter = pd.ExcelWriter(os.path.join(output_dir, 'datapoint_statistic.xlsx'),
            engine='openpyxl')
pd.DataFrame().to_excel(os.path.join( output_dir,'datapoint_statistic.xlsx'))
#excel必需已经存在,因此先建立一个空的sheet
_excelAddSheet(DataFrame, excelWriter, sheet_name)
 
def _excelAddSheet(self,dataframe,excelWriter,sheet_name):
  book = load_workbook(excelWriter.path)
  excelWriter.book = book
  dataframe.to_excel(excel_writer=excelWriter,sheet_name=sheet_name,index=None)
  excelWriter.close()

以上这篇解决pandas .to_excel不覆盖已有sheet的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python3 venv搭建轻量级虚拟环境的步骤(图文)

Python3 venv搭建轻量级虚拟环境的步骤(图文)

今天先聊一聊在windows/mac iOS系统下用venv搭建python轻量级虚拟环境的问题。 使用venv搭建的虚拟环境同virtualenv搭建的虚拟环境,即venv可替代vir...

Python按钮的响应事件详解

Python按钮的响应事件详解

import sys from PyQt5 import QtWidgets from PyQt5.QtWidgets import QMainWindow from test im...

Python的bit_length函数来二进制的位数方法

自Python3.1中,整数bit_length方法允许查询二进制的位数或长度。 常规做法: >>> bin(256) '0b100000000' >&g...

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。 每次实例化一个对象python都会分配一个固定大小内存的字典来...

Python的迭代器和生成器使用实例

一、迭代器Iterators 迭代器仅是一容器对象,它实现了迭代器协议。它有两个基本方法: 1)next方法 返回容器的下一个元素 2)__iter__方法 返回迭代器自身 迭代器可使用...