Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan tarikh yang betul menggunakan gspread

Bagaimana untuk mendapatkan tarikh yang betul menggunakan gspread

王林
王林ke hadapan
2024-02-09 13:00:04496semak imbas

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

Kandungan soalan

Bagaimana cara menggunakan gspread Python untuk mendapatkan nilai hamparan?

Andaikan terdapat sel yang kelihatan seperti 1/1 kerana m/d ditentukan sebagai format paparan sel, tetapi sebenarnya mengandungi 2024/1/1. Mendapatkan semula sel ini menggunakan get_all_values() mengembalikan "1/1". Saya mahukan nilai sebenar "2024/1/1", bukan nilai yang ditunjukkan pada lembaran kerja. apa yang saya buat?

Saya akan meninggalkan bahagian pemerolehan lembaran kerja.

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

nilai = nilai[1][0] # Dapatkan jawapan yang betul bagi 1/1



Masalah dan penyelesaian:

Daripada imej, skrip dan nilai semasa yang telah anda tunjukkan, saya faham bahawa anda akan pergi 2024/01/01 的值作为日期对象放入单元格“a2”中。并且,单元格值显示为 1/1, dalam format angka.

Pada peringkat semasa, apabila nilai sel diambil melalui api helaian, nilai 1/1 作为 valuerenderoption: formatted_value 的默认请求。当valuerenderoption修改为unformatted_value时,获取45292的序列号。遗憾的是,现阶段无法直接检索输入的2024/01/01 akan diambil semula. Oleh itu, proses berikut memerlukannya.

  1. Gunakan valuerenderoption 从单元格中检索序列号:unformatted_value.
  2. Tukar nombor siri kepada objek tarikh.
  3. Tukar format tarikh.

Bagaimana dengan pengubahsuaian berikut apabila aliran ini ditunjukkan dalam skrip pembentangan anda?

Skrip diubah suai:

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)
  • Jika objek tarikh sel "a2" ialah 2024/01/01,且 1/1 以数字格式显示,则运行此脚本时,formatted2024/01/01.

  • Gunakan from datetime import datetime.

Rujukan:

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan tarikh yang betul menggunakan gspread. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam