现在,我正在使用正在运行的熊猫将Excel工作表合并为1个新工作表。
唯一的问题是,新Excel工作表中的值是纯数字而不是公式,我希望使用公式。
正在载入档案
directory = os.path.dirname(__file__)
fname = os.path.join(directory, "Reisanalyze.xlsm")
print("Loading %s..." % fname)
sheet1 = pd.read_excel(fname, sheetname="Input")
sheet2 = pd.read_excel(fname, sheetname="Alternatieven")
写到新表
writer = pd.ExcelWriter('first_sheet.xlsx', engine='xlsxwriter')`**
sheet1.to_excel(writer, sheet_name='Input', merge_cells=False, startrow=0, startcol=0)
sheet2.to_excel(writer, sheet_name='Input', merge_cells=False, startrow=0, startcol=21)
我最初尝试使用pycel项目,该项目一直有效,直到需要加载多张工作表为止。这就是为什么我使用熊猫将多张纸写成一张纸的原因。
最佳答案
您可以使用OpenPyXL。阅读here
以下是测试excel文件testexl.xlsx
A | B
---------- | ------
=SUM(B1:B2)| 1
| 2
以下是测试代码
from openpyxl import load_workbook
import pandas as pd
wb = load_workbook(filename = 'testexl.xlsx')
sheet_names = wb.get_sheet_names()
name = sheet_names[0]
sheet_ranges = wb[name]
df = pd.DataFrame(sheet_ranges.values)
print df
输出量
0 1
0 =SUM(B1:B2) 1
1 None 2
关于python - 是否可以使用python复制单元格的Excel公式而不是值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46199076/