ホームページ  >  記事  >  バックエンド開発  >  gspreadを使用して正しい日付を取得する方法

gspreadを使用して正しい日付を取得する方法

王林
王林転載
2024-02-09 13:00:04497ブラウズ

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

#質問内容

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 = value[1][0] # 1/1 を取得


正解


問題と解決策:

表示された画像、スクリプト、および現在の値から、

2024/01/01 の値を日付オブジェクトとしてセル「a2」に入力したことがわかります。また、セル値は数値形式で 1/1 として表示されます。

現在の段階では、シート API 経由でセル値を取得すると、

valuerenderoption:formatted_value のデフォルトのリクエストとして 1/1 が取得されます。 valuerenderoptionunformatted_value に変更すると、シリアル番号 45292 が取得されます。残念ながら、入力された 2024/01/01 の値は、この段階では直接取得できません。したがって、次のプロセスではこれが必要になります。

    valuerenderoption:unformatted_value
  1. を使用してセルからシーケンス番号を取得します。 シリアル番号を日付オブジェクトに変換します。
  2. 日付形式を変換します。
  3. このフローをプレゼンテーションスクリプトに反映させる場合、次のように修正してみてはいかがでしょうか?

変更されたスクリプト:

リーリー

    セル「a2」の日付オブジェクトが
  • 2024/01/01

    で、1/1が数値形式で表示されている場合、このスクリプトを実行すると、formatted2024/01/01 です。

  • from datetime import datetime
  • を使用します。

    参考文献:

get_all_values

以上がgspreadを使用して正しい日付を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。