如何在pandas / python中查看excel电子表格的公式?

时间:2017-02-08 00:42:28

标签: python excel python-3.x pandas xlsx

我想在excel电子表格中阅读python / pandas,但要使用公式而不是单元格结果。

例如,如果单元格A1为25,单元格B1为= A1,我希望我的数据框显示:

25    =A1

现在它显示:

25    25

我该怎么办?

3 个答案:

答案 0 :(得分:2)

OpenPyXL提供了开箱即用的容量。请参阅herehere。一个例子:

ExpiresByType

答案 1 :(得分:0)

实际上,它是可行的。你现在有这样的东西

import pandas as pd
import numpy as np
a2_value = "=A1"
data = [1, "=A1", 3, 4]
s = pd.Series(list(data))
writer = pd.ExcelWriter('output.xlsx')
s.to_excel(writer, 'Sheet1', header=False, index=False)
writer.save()

你能做的就是这样:

import pandas as pd
import numpy as np
data = [1, '=CONCATENATE("=A1", '')', 3, 4]
s = pd.Series(list(data))
writer = pd.ExcelWriter('output.xlsx')
s.to_excel(writer, 'Sheet1', header=False, index=False)
writer.save()

这也是公式,但是= A1将是可见的而不是它的值。

答案 2 :(得分:0)

是的,这是可行的。我最近找到了一种可以非常复杂地解决此问题的软件包。它称为便携式电子表格(可通过pip install portable-spreadsheet获得)。它基本上封装了xlsxwriter。简单的例子:

import portable_spreadsheet as ps
sheet = ps.Spreadsheet.create_new_sheet(5, 5)
# Set values
sheet.iloc[0, 0] = 25  # Set A1
sheet.iloc[1, 0] = sheet.iloc[0, 0]  # reference to A1
# Export to Excel
sheet.to_excel('output/sample.xlsx')