python openpyxl 在一个单元格中导入数据的函数
python openpyxl import a data in a cell with a function
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
wb1 = load_workbook(filename = 'B.xlsx')
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=10,column=8).internal_value)
我想从 .xlsx 文件加载数据。 sheet_ranges1.cell(ro=10,column=8) 与 sheet_ranges1.cell('H10') 相同.在 EXCEL 文件中,H10 是一个 SUM 函数。当我在 python:
中打印它时
print (sheet_ranges1.cell(row=10,column=8).internal_value)
显示:
=SUM(N23:N128)
我想知道如何在H10中显示数字。 .internal_value 和 .value 似乎都行不通。我也试过data_only=True
,但是好像不行。
例如:
A B C
1 4 5 9
C1=A1+B1
wb1 = load_workbook(filename = 'B.xlsx')
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=2,column=3).value)
结果:'A1+B1'
wb1 = load_workbook(filename = 'B.xlsx',data_only=True)
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=2,column=3).value)
结果:9
我想用openpyxl
改变A1和B1的值,并将C1导入另一个excel 文件。但是,如果我不使用 data_only=True
,结果将是“=A1+B1”。如果我用data_only=True
,把A1,B1的值改成5,6后,C1=9,即函数没有C1 单元格中不存在。
Blockquote
Openpyxl 的设计是这样的,您可以检索一个公式或公式的值,但不能同时检索两者。这样做的原因是 openpyxl 从不计算公式,因此永远不能保证结果的有效性。 Excel 存储公式的最后一个计算值,我们可以读取它。但是,我们假设您可能会更改公式中使用的值,这会使它无效并需要重新计算公式。如果要执行此操作,则必须将文件传递给可以执行此操作的应用程序。
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
wb1 = load_workbook(filename = 'B.xlsx')
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=10,column=8).internal_value)
我想从 .xlsx 文件加载数据。 sheet_ranges1.cell(ro=10,column=8) 与 sheet_ranges1.cell('H10') 相同.在 EXCEL 文件中,H10 是一个 SUM 函数。当我在 python:
中打印它时print (sheet_ranges1.cell(row=10,column=8).internal_value)
显示:
=SUM(N23:N128)
我想知道如何在H10中显示数字。 .internal_value 和 .value 似乎都行不通。我也试过data_only=True
,但是好像不行。
例如:
A B C
1 4 5 9
C1=A1+B1
wb1 = load_workbook(filename = 'B.xlsx')
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=2,column=3).value)
结果:'A1+B1'
wb1 = load_workbook(filename = 'B.xlsx',data_only=True)
sheet_ranges1 = wb1["Sheet1"]
wb1.save('B.xlsx')
print (sheet_ranges1.cell(row=2,column=3).value)
结果:9
我想用openpyxl
改变A1和B1的值,并将C1导入另一个excel 文件。但是,如果我不使用 data_only=True
,结果将是“=A1+B1”。如果我用data_only=True
,把A1,B1的值改成5,6后,C1=9,即函数没有C1 单元格中不存在。
Blockquote
Openpyxl 的设计是这样的,您可以检索一个公式或公式的值,但不能同时检索两者。这样做的原因是 openpyxl 从不计算公式,因此永远不能保证结果的有效性。 Excel 存储公式的最后一个计算值,我们可以读取它。但是,我们假设您可能会更改公式中使用的值,这会使它无效并需要重新计算公式。如果要执行此操作,则必须将文件传递给可以执行此操作的应用程序。