close
一、前言
前面講解寫入到舊有的excel檔的不同sheet裡面,發現有一直往後新增sheet的問題,
不會取代原本的sheet,即使sheet_name一樣,但在舊有的excel會繼續往後新增,
二、解決辦法
這邊來告訴大家如何解決,其實觀念很簡單,不就把舊的sheet刪除,在重寫一新的sheet就可以了!
完整程式碼:
import os
import pandas, numpy
import pandas_datareader as web
# 下載股票資料
df_2330 = web.DataReader('2330.TW', 'yahoo')
df_2317 = web.DataReader('2317.TW', 'yahoo')
# 寫入到舊有的excel檔的不同sheet裡面,取代原本sheet
path = os.path.join(os.getcwd(), '舊股票資料.xlsx') # 原有excel路徑
with pandas.ExcelWriter(engine='openpyxl', path=path, mode='a') as writer: # mode='a'現有檔案讀寫
# 先刪除原來的sheet
book = writer.book
book.remove(book['2330']) # 刪除2330 sheet
book.remove(book['2317'])
# 寫入新資料到sheet
df_2330.to_excel(writer, sheet_name='2330') # 存到指定的sheet
df_2317.to_excel(writer, sheet_name='2317') # 存到指定的sheet
book = writer.book把excel的sheet抽出來之後,用book.remove(book['2330'])把指定sheet刪除,
如果原本每面沒有這個sheet可能會報錯,這時候可以try except或者自己先新增進去就可以了~
三、後記
ok!就多那幾行而已~
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
或者訂閱Telegram來接收最新資訊:
文章標籤
全站熱搜