现在,我正在使用正在运行的熊猫将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/

10-12 04:02
查看更多