pandas使用ExcelWriter操作excel-保持原有excel表格sheet页不变动

    技术2026-03-11  18

    1、直接使用df的to_excel()方法直接保存

    2、使用ExcelWriter对象调用to_excel()方法进行保存

    3、使用ExcelWriter 和openpyxl库进行excel操作

    说明:1和2方法在进行保存前会情况excel的sheet页,及进行to_excel()时先清空表格的sheet页。2可以有多个sheet页

    3会在原有excel的sheet页后添加sheet页,不清空原有sheet页。

    下面用例子说明:

    1、import pandas as pd

    df = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]}) #定义一个df对象

    df.to_excel('test.xlsx',index=False) #将df对象保存为excel文件,不需要index

     

    2 import pandas as pd

    writer = pd.ExcelWriter('test.xlsx')

    df = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]})

    df.to_excel(writer, sheet_name='test1')

    df.to_excel(writer,sheet_name='test2')

    writer.save()

    writer.close()

    说明:上面会保存2个sheet页,无论原test.xlsx文件是否有内容,或是否有test.xlsx文件,

     

    3 import openpyxl

    import pandas as pd

    wb = openpyxl.load_workbook('test.xlsx')

    writer = pd.ExcelWriter('test.xlsx')

    writer.book = wb

    df1 = pd.DataFrame() #定义一个空df对象

    df2 = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]})

    df1.to_excel(writer,sheet_name='test1', index=False)

    df2.to_excel(writer,sheet_name='test2', index=False)

    writer.save()

    writer.close()

    说明:此种方法要持原有excel文件的sheet页,所有test.xlsx文件在当前文件下存在的,openpyxl.load_workbook()方法加载已知excel文件。以上执行一次会在现在excel文件的最后添加(test1,test2)两个sheet页,若test1或是test2 sheet页存在,则会在原有sheet页基础上添加1,如3再执行一次,则会再次添加(test11,test21)两个sheet页。

     

     

    Processed: 0.013, SQL: 9