python写excel文件不覆盖_python中使用to_excel时如何不覆盖原有数据来新建sheet页
经常通过各种三方库操作Excel时,会遇到各种问题。这个库不支持这个方法,那个库支持但是又会丢失原来的数据。。。。都是问题!想想就让人头大,想揍一顿提这个需求的人。。。只是,有时候暴力不能解决问题所以,只要解决了制造问题的人,不就OK咯....我还想多活几年,还是看代码吧!!import openpyxlimport pandas as pddef add_sheet(data, excel_wr
经常通过各种三方库操作Excel时,会遇到各种问题。这个库不支持这个方法,那个库支持但是又会丢失原来的数据。。。。都是问题!想想就让人头大,想揍一顿提这个需求的人。。。只是,有时候暴力不能解决问题
所以,只要解决了制造问题的人,不就OK咯
.
.
.
.
我还想多活几年,还是看代码吧!!
import openpyxl
import pandas as pd
def add_sheet(data, excel_writer, sheet_name):
"""
不改变原有Excel的数据,新增sheet。
注:
使用openpyxl操作Excel时Excel必需存在,因此要新建空sheet
无论如何sheet页都会被新建,只是当sheet_name已经存在时会新建一个以1结尾的sheet,如:test已经存在时,新建sheet为test1,以此类推
:param data: DataFrame数据
:param excel_writer: 文件路径
:param sheet_name: 新增的sheet名称
:return:
"""
book = openpyxl.load_workbook(excel_writer.path)
excel_writer.book = book
data.to_excel(excel_writer=excel_writer, sheet_name=sheet_name, index=None, header=False)
excel_writer.close()
df = pd.DataFrame(['test', 'hello', 'world'])
excel_writer = pd.ExcelWriter(r"C:\Users\Desktop\test.xlsx", engine='openpyxl')
add_sheet(df, excel_writer, 'test')
结束。。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)