[英]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.