python:xlsxwriter将数据框+公式添加到excel文件
Posted
技术标签:
【中文标题】python:xlsxwriter将数据框+公式添加到excel文件【英文标题】:python: xlsxwriter adding dataframe + formula to excel file 【发布时间】: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写入文件的内容。如何合并它们?
【问题讨论】:
【参考方案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 部分。
注意,我更正了公式的范围以避免循环引用。
【讨论】:
以上是关于python:xlsxwriter将数据框+公式添加到excel文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 和 XLSXWriter 将格式应用于多个 Excel 工作表