【问题标题】:python: xlsxwriter adding dataframe + formula to excel filepython:xlsxwriter将数据框+公式添加到excel文件
【发布时间】:2020-11-23 20:59:48
【问题描述】:

我发现了将数据框和公式写入 excel 文件的不同方法。

import pandas as pd
import numpy as np
import xlsxwriter

# Method 1
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
A = pd.DataFrame(np.array([[1,2,3],[4,5,6],[7,8,9]]))
A.to_excel(writer , sheet_name='Sheet1')
writer.save()

# Method 2
workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write_formula('B5' , '=_xlfn.STDEV.S(B3:B5)')
workbook.close()

一个用于添加数据框,另一个用于公式。问题:方法2删除了使用方法1写入文件的内容。如何合并它们?

【问题讨论】:

    标签: python excel pandas numpy xlsxwriter


    【解决方案1】:

    如果您想将这两个操作合二为一,这是一种方法:

    import pandas as pd
    import numpy as np
    import xlsxwriter
    
    # Method 1
    writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
    A = pd.DataFrame(np.array([[1,2,3],[4,5,6],[7,8,9]]))
    A.to_excel(writer , sheet_name='Sheet1')
    
    # Get the xlsxwriter objects from the dataframe writer object.
    workbook  = writer.book
    worksheet = writer.sheets['Sheet1']
    
    # Write the formula.
    worksheet.write_formula('B5' , '=_xlfn.STDEV.S(B2:B4)')
    
    # Or Create a new worksheet and add the formula there.
    worksheet = workbook.add_worksheet()
    worksheet.write_formula('B5' , '=_xlfn.STDEV.S(Sheet1!B2:B4)')
    
    writer.save()
    
    

    输出

    请参阅 XlsxWriter 文档的 Working with Python Pandas and XlsxWriter 部分。

    注意,我更正了公式的范围以避免循环引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-25
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多