Heim > Backend-Entwicklung > Python-Tutorial > So erhalten Sie mit gspread das richtige Datum

So erhalten Sie mit gspread das richtige Datum

王林
Freigeben: 2024-02-09 13:00:04
nach vorne
551 Leute haben es durchsucht

如何使用 gspread 获取正确的日期

Frageninhalt

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



Probleme und Lösungen:

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.

  1. Verwenden valuerenderoption 从单元格中检索序列号:unformatted_value.
  2. Konvertieren Sie die Seriennummer in ein Datumsobjekt.
  3. Datumsformat konvertieren.

Wie wäre es mit den folgenden Änderungen, wenn sich dieser Ablauf in Ihrem Präsentationsskript widerspiegelt?

Geändertes Skript:

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)
Nach dem Login kopieren
  • Wenn das Datumsobjekt der Zelle „a2“ 2024/01/01,且 1/1 以数字格式显示,则运行此脚本时,formatted2024/01/01 ist.

  • Verwenden Sie from datetime import datetime.

Referenz:

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!

Verwandte Etiketten:
Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage