[英]How to append a dataframe to existing excel sheet?
該函數被調用多次。 我保留了一個計數,以便在第一次調用它時創建一個工作簿。 然后,我使用pd.ExcelWrite()
寫入該工作簿。 下次else:
執行並打開同一工作簿。 選擇其第一張紙,找到其最后一行。 然后將DataFrame寫入該行。 這是我的代碼:
def WriteFile (df):
if count1 == 1:
workbook = xlsxwriter.Workbook('pandas_simple.xlsx')
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False )
workbook.close()
else:
book = open_workbook('pandas_simple.xlsx')
sheet_names = book.sheet_names()
sheet = book.sheet_by_name(sheet_names[0])
row = sheet.nrows
writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, index=False, header=False, startrow = row )
我得到這個例外:
Exception Exception: Exception('Exception caught in workbook destructor. Explicit close()
may be required for workbook.',) in <bound method Workbook.__del__ of <xlsxwriter.workbook.Workbook
object at 0x000000000A143860>> ignored Exception
執行代碼后,我的pandas_simple.xlsx也為空。 我究竟做錯了什么?
感謝@ski。
請在同一問題上提及他的答案
如何在不覆蓋數據的情況下(使用熊貓)寫入現有的excel文件?
import pandas
from openpyxl import load_workbook
book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.