【问题标题】:Write the output to same output Excel File将输出写入相同的输出 Excel 文件
【发布时间】:2019-04-04 13:43:07
【问题描述】:

我正在进行网络抓取,并且每天都将数据帧的输出写入新的 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文件的小sn-p代码(一天)。我希望每天都使用同一个excel文件。

【问题讨论】:

  • 你想把数据放到同一张表吗?每天一张不同的床单?天的分隔是怎么做到的?
  • 检查openpyxl库,您可以在其中进行单元格引用,并将能够在特定位置附加数据。
  • 我想在同一张纸上@Shir

标签: python excel python-3.x pandas


【解决方案1】:

这应该做你想做的。

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)

【讨论】:

    【解决方案2】:

    使用openpyxl:

    假设您有一个现有的excel file-- 'output'+dte.strftime("%Y-%m-%d")+'.xlsx',工作表名称为Sheet1。你可以这样做:

    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()
    

    如果有帮助,请告诉我。

    【讨论】:

    • 确切的错误是什么?您可以使用我的代码作为模板。您可能需要根据需要对其进行调整。
    • PermissionError: [Errno 13] Permission denied: 'output2018-10-31.xlsx'
    • 给文件必要的权限。这不是我的代码的错。执行此操作时应该出现此错误writer = pd.ExcelWriter('output'+dte.strftime("%Y-%m-%d")+'.xlsx')
    • 没错,我就是这么做的,谢谢
    • 你知道如何提供文件权限吗?我试过很多方法,但还是一样!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 2012-07-13
    • 1970-01-01
    • 2013-04-05
    相关资源
    最近更新 更多