python - 如何将数据写入具有多个工作表的现有 '.xlsx' 文件

标签 python excel openpyxl xlsx xlsxwriter

我必须将数据更新/附加到现有的 xlsx 文件中。

xlsx 文件包含多张工作表。
例如,我想将一些数据附加到现有工作表“Sheet1”中,如何做到这一点

最佳答案

要将新的数据行附加到现有的电子表格中,您可以使用 openpyxl模块。这将:

  • 从文件加载现有工作簿。
  • 使用 ws.get_highest_row() 确定正在使用的最后一行
  • 在下一个空行上添加新行。
  • 将更新后的电子表格写回文件

  • 例如:
    import openpyxl
    
    file = 'input.xlsx'
    new_row = ['data1', 'data2', 'data3', 'data4']
    
    wb = openpyxl.load_workbook(filename=file)
    ws = wb['Sheet1']     # Older method was  .get_sheet_by_name('Sheet1')
    row = ws.get_highest_row() + 1
    
    for col, entry in enumerate(new_row, start=1):
        ws.cell(row=row, column=col, value=entry)
    
    wb.save(file)
    

    请注意,可以在 XlsxWriter 的文档中看到:

    XlsxWriter is designed only as a file writer. It cannot read or modify an existing Excel file.



    这种方法不需要安装 Windows/Excel,但在支持级别方面确实存在一些限制。

    关于python - 如何将数据写入具有多个工作表的现有 '.xlsx' 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34767174/

    相关文章:

    vba - 使用宏重置单元格中的公式

    python - 卡在 AttributeError : 'int' object has no attribute 'reindex' when trying to save workbook in openpyxl

    python - 任务失败,因为返回代码为 -1,而预期为 0 - Bamboo

    python - 类方法 __instancecheck__ 不起作用

    python - 多处理 Python 中的异常处理

    Python 模块导入 Visual Studio

    excel - 使用 openpyxl 使用电子表格的行创建对象列表

    python - 使用 Scipy minimize 进行 Keras BFGS 训练

    vba - 使用 Dim 时外部程序无效

    c# - 格式化 Excel 单元格(货币)