如何使用 Python 的 gspread 取得電子表格值?
假設有一個儲存格,因為指定了 m/d 作為儲存格顯示格式,所以看起來像 1/1,但實際上包含 2024/1/1。使用 get_all_values() 檢索此儲存格會傳回「1/1」。 我想要實際值“2024/1/1”,而不是工作表上顯示的值。 我該怎麼辦?
我將省略工作表取得部分。
values = workbook.worksheet(sheet_name).get_all_values()
value = 值[1][0] # 得到1/1
從您顯示的圖像、腳本和當前值中,我了解到您將 2024/01/01
的值作為日期物件放入單元格「a2」中。並且,儲存格值顯示為 1/1
,採用數字格式。
在目前階段,當透過 sheets api 檢索該單元格值時,將檢索 1/1
作為 valuerenderoption: formatted_value
的預設請求。當valuerenderoption
修改為unformatted_value
時,取得45292
的序號。可惜的是,現階段無法直接檢索輸入的2024/01/01
值。因此,以下流程需要它。
valuerenderoption 從單元格中檢索序號:unformatted_value
。 當這個流程反映在你的展示腳本時,以下的修改如何?
values = workbook.worksheet(sheet_name).get_all_values(value_render_option="UNFORMATTED_VALUE") value = values[1][0] date = datetime.fromtimestamp((int(value) - 25569) * 86400) # Ref: https://stackoverflow.com/a/6154953 formatted = date.strftime('%Y/%m/%d') # or date.strftime('%Y/%-m/%-d') # or date.strftime('%Y/%#m/%#d') print(formatted)
如果儲存格「a2」的日期物件為2024/01/01
,且1/1
以數字格式顯示,則執行此腳本時,formatted
為2024/01/01
。
使用from datetime import datetime
。
以上是如何使用 gspread 取得正確的日期的詳細內容。更多資訊請關注PHP中文網其他相關文章!