如何设置日期时间的格式,以便Google Sheets将该值识别为日期时间 [英] How to format a datetime so Google sheets recognise the value as date time

查看:0
本文介绍了如何设置日期时间的格式,以便Google Sheets将该值识别为日期时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用Gspare将数据从Google工作表检索到Pandas DataFrame。 为了做到这一点,我只需在https://gspread.readthedocs.io/en/latest/user-guide.html#using-gspread-with-pandas

中遵循他们的示例
df = pd.DataFrame(sheet.get_all_records())
df["From"] = pd.to_datetime(df["From"])
df["To"] = pd.to_datetime(df["To"])

运行良好,但在我想要更新电子表格时出现问题。

如果我只尝试使用 pandas DataFrame更新范围:

sheet.update([df.columns.values.tolist()] + df.values.tolist())

我收到以下错误:

TIMESTAMP类型的对象不可JSON序列化

因此,我认为我需要将时间戳转换回一个字符串:

df["From"] = df["From"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")
df["To"] = df["To"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")

更新运行良好,但数据未被识别为时间戳:

有没有办法让Google电子表格正确识别日期(即正确的格式是什么)?

推荐答案

此修改如何?

发件人:

df["From"] = df["From"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")
df["To"] = df["To"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")
sheet.update([df.columns.values.tolist()] + df.values.tolist())

收件人:

df["From"] = df["From"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")
df["To"] = df["To"].dt.strftime("%Y-%m-%d %H:%M:%S.%f")
sheet.update([df.columns.values.tolist()] + df.values.tolist(), value_input_option='USER_ENTERED')

USER_ENTERED:这些值将被解析,就像用户将它们输入到UI中一样。数字将保留为数字,但字符串可能会转换为数字、日期等,所遵循的规则与通过Google Sheets用户界面将文本输入单元格时所应用的规则相同。Ref

<<2-1]>的缺省值似乎是RAW。这样,单引号将作为文本值添加到值的顶部。

引用:

这篇关于如何设置日期时间的格式,以便Google Sheets将该值识别为日期时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆