gpt4 book ai didi

Python 从 xlsx 中读取值公式

转载 作者:行者123 更新时间:2023-11-28 18:35:56 25 4
gpt4 key购买 nike

我在从 xslx 文件中读取公式值时遇到问题。为了获得值(value),我使用 openpyxl,但是当我想获得值(value)时,我看到“无”。这是我的代码:

from openpyxl import *
wb = load_workbook('output.xlsx', data_only=True)
sh = wb["Sheet1"]
val=(sh['C5'].value)

文件 output.xlsx 包含公式“C5=A1+B1”,单元格 C5=2,但我无法获取此值。任何人帮助我。可能我需要其他库来从 xslx 文件中读取公式的值。可能存在样本怎么办?我知道可以将此文件转换为其他格式以供阅读,但不适用于此任务。

最佳答案

有许多解决方案可以从 Excel 单元格中获取值。这完全取决于您所处的环境以获取评估的单元格值。

如果您使用 Excel 创建了 xls 或 xlsx 文件,通常单元格中会有一个值。不能保证,因为可以在保存时关闭重新计算,但这很常见。而且,如果有人关闭了保存时重新计算,则该值可能不正确。

如果 xls 或 xlsx 文件是由非 Excel 库(例如;openpyxl、xlwrt)创建的,除非您明确设置了单元格的值,否则它可能没有。

多亏了 Python 世界,才有了选择。

Pycel , xlcalculator , 数据硝基, FormulasSchedula可以读取 Excel 文件并计算单元格的公式。这些解决方案都不需要安装 Excel。大多数可能与操作系统无关。

  • 我找不到 datanitro 链接

免责声明:我是 xlcalculator 的项目所有者。

一个使用 xlcalculator 的例子:

from xlcalculator import ModelCompiler
from xlcalculator import Model
from xlcalculator import Evaluator

filename = r'output.xlsx'
compiler = ModelCompiler()
new_model = compiler.read_and_parse_archive(filename)
evaluator = Evaluator(new_model)
val1 = evaluator.evaluate('Sheet1!C5')
print("value 'evaluated' for Sheet1!C5:", val1)

关于Python 从 xlsx 中读取值公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com