Heim >Backend-Entwicklung >Python-Tutorial >So erhalten Sie mit gspread das richtige Datum
Wie verwende ich Pythons Gspread, um Tabellenwerte zu erhalten?
Angenommen, es gibt eine Zelle, die wie 1/1 aussieht, weil m/d als Zellenanzeigeformat angegeben ist, aber tatsächlich 2024/1/1 enthält. Das Abrufen dieser Zelle mit get_all_values() gibt „1/1“ zurück. Ich möchte den tatsächlichen Wert „2024/1/1“, nicht den auf dem Arbeitsblatt angezeigten Wert. was mache ich?
Ich werde den Teil zur Arbeitsblatterfassung weglassen.
values = workbook.worksheet(sheet_name).get_all_values()
Wert = Werte[1][0] # Erhalten Sie die richtige Antwort von 1/1
Aus den Bildern, Skripten und aktuellen Werten, die Sie gezeigt haben, verstehe ich, dass Sie 2024/01/01
的值作为日期对象放入单元格“a2”中。并且,单元格值显示为 1/1
in einem numerischen Format angeben.
In der aktuellen Phase, wenn der Zellenwert über die Blatt-API abgerufen wird, wird der 1/1
作为 valuerenderoption: formatted_value
的默认请求。当valuerenderoption
修改为unformatted_value
时,获取45292
的序列号。遗憾的是,现阶段无法直接检索输入的2024/01/01
-Wert abgerufen. Daher ist dies für den folgenden Prozess erforderlich.
valuerenderoption 从单元格中检索序列号:unformatted_value
. Wie wäre es mit den folgenden Änderungen, wenn sich dieser Ablauf in Ihrem Präsentationsskript widerspiegelt?
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)
Wenn das Datumsobjekt der Zelle „a2“ 2024/01/01
,且 1/1
以数字格式显示,则运行此脚本时,formatted
为 2024/01/01
ist.
Verwenden Sie from datetime import datetime
.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie mit gspread das richtige Datum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!