在 pandas 数据框上获取 Excel sheet 内容,但使用的是公式而不是值

get Excel sheet content on a pandas dataframe but with formulas not values

我想要一个 pandas 数据框,其中包含 excel 文件的内容 公式(如果有的话)。

所以从这个 test.xlsx 文件:

>>> from openpyxl import load_workbook
>>> sheet = load_workbook('test.xlsx', data_only=False).active
>>> for i in range(1, 4, 1):
>>>     for j in range(1, 3, 1):
>>>         print(sheet.cell(i, j).value)
>>>         
4
a
3
b
=A1+A2
=B1&"_"&B2
>>>

如何获得这种 pandas 数据框?:

In [8]: df
Out[8]:
          4              a
0         3              b
1  '=A1+A2'   '=B1&"_"&B2'

现在我只得到值::

In [6]: import pandas as pd
In [7]: df = pd.read_excel('test.xlsx')
In [8]: df 
Out[8]:
   4    a
0  3    b
1  7  a_b

注意:我在Linux所以我不能使用xlwings

openpyxl 默认执行此操作,sheet.values 可用于构建 pandas 数据框:

>>> from openpyxl import load_workbook
>>> sheet = load_workbook('test.xlsx', data_only=False).active
>>> df = pd.DataFrame(sheet.values)
>>>
>>> df
0       4           a
1       3           b
2  =A2+A3  =B2&"_"&B3
>>>