将输出写入相同的输出Excel文件



我每天都在做网页抓取,并将数据帧的输出写入一个新的Excel工作簿。我想把每天的输出添加到现有的excel文件中,但我不知道如何做到。有人能帮我吗!!!

writer = pd.ExcelWriter('output'+dte.strftime("%Y-%m-%d")+'.xlsx')
for each in channel_id:
start_time=0
start_time = time.time()
df = pd.DataFrame()
a=get_all_video_in_channel(each)
print(len(a))
df=df.append(get_links(a),ignore_index=True)
df = df.set_index('link').transpose()
#print(df)
df.to_excel(writer, 'Sheet'+str(count))
writer.save()
print("--- %s seconds ---" % (time.time() - start_time))
count=count+1

以上是将数据框写入excel文件的小代码片段(一天(。我希望每天都能使用相同的excel文件。

使用openpyxl:

假设您有一个现有的图纸名称为Sheet1excel file-- 'output'+dte.strftime("%Y-%m-%d")+'.xlsx'。你可以这样做:

from openpyxl import load_workbook
book = load_workbook('output'+dte.strftime("%Y-%m-%d")+'.xlsx')
writer = pd.ExcelWriter('output'+dte.strftime("%Y-%m-%d")+'.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, 'Sheet1', index=None, startrow=1, header=None)
writer.save()

如果有帮助,请告诉我。

这应该是您想要的。

from openpyxl import load_workbook
workbook_name = 'C:\your_path\Book1.xlsx'
wb = load_workbook(workbook_name)
page = wb.active
# New data to write:
child = [['one','two','buckle my shoe'], ['three','four','open the door']]
for info in child:
page.append(info)
wb.save(filename=workbook_name)

最新更新