【问题标题】:Python reads only the formula from excel cellPython 只从 excel 单元格中读取公式
【发布时间】:2015-06-09 14:00:28
【问题描述】:

我有一个 excel 2010 文件,其中包含带有公式的单元格(请参阅下面的公式栏中的 C2)。 (下面的屏幕截图 1)

我正在使用 python 读取值,它正在打印公式而不是单元格的实际值(eclipse 控制台下方的屏幕截图。)

我希望结果打印 10.188.11.184,这是由 excel 单元格的公式填充的值。如何做到这一点?提前致谢。

【问题讨论】:

标签: python excel openpyxl


【解决方案1】:

来自: https://openpyxl.readthedocs.org/en/latest/usage.html#read-an-existing-workbook

data_only 控制带有公式的单元格是否具有公式(默认)或 Excel 上次读取工作表时存储的值。

wb = load_workbook('file.xlsx', data_only=True)

【讨论】:

  • 请对您的答案进行解释,并明确格式化代码。
  • 但是当它保存文件时,我的公式从 excel 表中消失了!!有没有办法让单元格单独留下公式?反正我不会更新这些单元格。
  • “它保存文件”?它是什么”?请提供一个完整的最小示例。(代码)
  • 您是否尝试过打开两个工作簿(一个带有 data_only 用于读取值,一个没有用于编辑和保存)?
  • 在 openpyxl 中,您可以要么拥有公式评估它们的结果。这是因为公式本身从未经过评估,因此无法保证其稳定性。如果您需要两者,那么您最好编写一个可以评估它们的应用程序。 xlwings,xlwings.org,可能在这里有用。
【解决方案2】:

您可以使用 xlrd 模块轻松阅读。

read_fullreport = xlrd.open_workbook(report_to_read)
read_fullreport_sheet = read_fullreport.sheet_by_index(0)
ipAddressofMC = read_fullreport_sheet.cell_value(row_nr, col_nr)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多