Maison > développement back-end > Tutoriel Python > Comment obtenir la date correcte en utilisant gspread

Comment obtenir la date correcte en utilisant gspread

王林
Libérer: 2024-02-09 13:00:04
avant
557 Les gens l'ont consulté

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

Contenu de la question

Comment utiliser le gspread de Python pour obtenir les valeurs d'une feuille de calcul ?

Supposons qu'il existe une cellule qui ressemble à 1/1 car m/d est spécifié comme format d'affichage de cellule, mais contient en réalité 2024/1/1. La récupération de cette cellule à l'aide de get_all_values() renvoie "1/1". Je veux la valeur réelle "2024/1/1", pas la valeur indiquée sur la feuille de calcul. que dois-je faire?

J'omettra la partie acquisition de la feuille de travail.

values ​​​​= workbook.worksheet(sheet_name).get_all_values()

value = valeurs[1][0] # Obtenez la bonne réponse de 1/1



Problèmes et solutions :

D'après les images, les scripts et les valeurs actuelles que vous avez montrées, je comprends que vous y allez 2024/01/01 的值作为日期对象放入单元格“a2”中。并且,单元格值显示为 1/1, dans un format numérique.

Au stade actuel, lorsque la valeur de la cellule est récupérée via l'API des feuilles, la valeur 1/1 作为 valuerenderoption: formatted_value 的默认请求。当valuerenderoption修改为unformatted_value时,获取45292的序列号。遗憾的是,现阶段无法直接检索输入的2024/01/01 sera récupérée. Par conséquent, le processus suivant l’exige.

  1. Utilisez valuerenderoption 从单元格中检索序列号:unformatted_value.
  2. Convertissez le numéro de série en objet de date.
  3. Convertir le format de date.

Que diriez-vous des modifications suivantes lorsque ce flux est reflété dans votre script de présentation ?

Script modifié :

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)
Copier après la connexion
  • Si l'objet date de la cellule "a2" est 2024/01/01,且 1/1 以数字格式显示,则运行此脚本时,formatted2024/01/01.

  • Utilisez from datetime import datetime.

Référence :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal