worksheet.format("A2:A", { "numberFormat": { "type": "DATE_TIME" }}) 不适用于文本

worksheet.format("A2:A", { "numberFormat": { "type": "DATE_TIME" }}) doesn't work for text

我正在尝试使用 gspread 和 python 将温度和湿度记录到 google 电子表格中。 这行得通,但是当我使用以下代码插入一行时:

worksheet.append_row((datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), temp, humidity))

现在例如单元格 'A2' 的值为:'12-05-2020 00:11:50(注意单引号) 我希望数据显示在图表中。这不能用上面的值来完成,所以我必须将它转换为 date_time 值。

worksheet.format("A2:A", { "numberFormat": { "type": "DATE_TIME" }})

我希望将整个列转换为日期时间。这不会转换带有单引号的值。

我花了一整天的时间试图让它工作,但出于某种原因,我似乎无法找到一种方法来增加 'normal' date_time 的价值 Google表格识别为 date_time...

如果我在 A 列的单元格中手动输入(数字)值。设置格式的代码工作正常。 此外,如果我手动 select 列和 select 他从菜单格式化,它可以很好地处理 gspread 添加的日期时间行。

我真的希望它以编程方式完成,当然不是手工完成。 非常感谢任何帮助。

在这种情况下,请按如下方式使用value_input_option。这样,日期就作为日期对象了。

发件人:

worksheet.append_row((datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), temp, humidity))

收件人:

worksheet.append_row((datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S"), temp, humidity), value_input_option="USER_ENTERED")

参考: