簡體   English   中英

python:xlsxwriter 添加 dataframe + 公式到 excel 文件

[英]python: xlsxwriter adding dataframe + formula to excel file

我發現了將數據幀和公式寫入 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()

一個用於添加 dataframe 另一個用於公式。 問題:方法 2 刪除了使用方法 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()

Output

在此處輸入圖像描述

請參閱 XlsxWriter 文檔的使用 Python Pandas 和 XlsxWriter部分。

請注意,我更正了公式的范圍以避免循環引用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM