![](/img/trans.png)
[英]How to change one Excel cell value using python and read a column values related to this cell with formula?
[英]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.