Bagaimana untuk mendapatkan tarikh yang betul menggunakan gspread

王林
Lepaskan: 2024-02-09 13:00:04
ke hadapan
497 orang telah melayarinya

如何使用 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)
Salin selepas log masuk
  • 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!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!