簡體   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