python中使用to_excel時如何不覆蓋原有數據來新建sheet頁


經常通過各種三方庫操作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')

  

結束。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM