繁体   English   中英

使用 Python 读取单元格值,而不是 Excel 工作表中的公式

[英]Read cell value, NOT the formula in Excel sheet using Python

我正在尝试使用 Python 的openpyxl仅读取 Excel 电子表格中的单元格值,但我只能阅读论坛。

我已经在 Stack Overflow 上遇到过无数问这个问题的问题,他们都说要像这样设置标志data_only=True

wb = openpyxl.load_workbook(reference_filename, data_only=True)
ws = wb.worksheets[0]

cell_value = ws.cell(7, 1).value
print(cell_value)

然而,这仍然只是打印公式.. 为什么??

我只需要单元格中的值。

openpyxl 文档 ( https://openpyxl.readthedocs.io/en/latest/usage.html?#read-an-existing-workbook ) 指出......

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

如果工作表之前没有被 Excel 打开,它可能没有存储最后计算的值,因此 openpyxl 可能无法提取它。

你必须使用openpyxl吗?

使用 pandas 检查一下:

ws = pd.read_excel('try.xlsx', sheet_name=0, header=None)
cell_value = ws[7][1]
print(cell_value)

对我来说,这给出了结果而不是公式。

问题可能出在 excel 文件上。 如果您尝试读取的单元格设置为“显示公式”,则 openpyxl 将读取公式而不是值。 Go 到您的 excel 和Formulas -> Formula Auditing -> Uncheck Show Formulas保存文件并再次运行 python 程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM