【问题标题】:Pandas - Saving Excel File back into/overwriting an existing sheetPandas - 将 Excel 文件保存回/覆盖现有工作表
【发布时间】:2018-09-20 10:37:04
【问题描述】:

使用下面的代码,我试图打开现有的 excel 文件 (wos.xlsx),然后用我保存的另一个名为“结果”的数据框覆盖“详细信息 - 全部”表。但是保存在我的路径中的是excel文件“wos.xlsx”,只有1个新选项卡“Detail-All”,没有其他选项卡(有7个)。我的目标只是用我的“结果”数据框替换“详细信息”选项卡。不知道我哪里出错了。

ws_dict = pd.read_excel('wos.xlsx',
                        sheetname=None)

ws_dict['Detail - All'] = results
print(ws_dict)

with pd.ExcelWriter('wos.xlsx',
                    engine='xlsxwriter') as writer:

    for ws_name, df_sheet in ws_dict.items():
        results.to_excel(writer, sheet_name='Detail - All')

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    这是因为您正在使用 xlsxwriter 覆盖 excel 文件“wos.xlsx”,删除之前存在的任何其他工作表。如果你想编辑而不是覆盖,你应该使用 xlwings 来代替。

    示例(未测试):

    import xlwings as x
    wb = x.Book('wos.xlsx')
    wb.sheets['Detail - All'].range('A1').options(index=False, header=True).value = results
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-23
      • 2012-10-14
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 2018-11-29
      • 2017-07-11
      相关资源
      最近更新 更多