如何在batch_update中设置数据和格式



我想在Python脚本中用值填充一些单元格。第一个是日期值。格式化这个日期值是我的问题。(我需要它,因为它将是图表的一部分,我想在其中显示HH:MM:SS,但将原始日期字符串存储在单元格中。(

使用我的实际解决方案,我可以编写所有数据(代码在这方面起作用(,但我必须不断地进入Google Sheets,并以TIME格式格式化第一列。我想知道我是否可以在批更新表API方法中实现它。

我正在使用gspread Python库访问Google Sheets API。以下是我的代码的相关部分:

date_time_format= "%Y-%m-%d %H:%M:%S"
....
now = datetime.now()                    # current date and time
date_time_str = now.strftime(date_time_format)
NapiFogyasztas.batch_update([{
'range': 'A{0}'.format(next_row),
'values': [[date_time_str]],
}, {
'range': 'B{0}:G{0}'.format(next_row),
'values': [[pill_fogyasztas, pill_termeles, fogyasztas, termeles, "=D{0}-E{0}".format(next_row), "=B{0}-C{0}".format(next_row)]],
}], value_input_option='USER_ENTERED')

正如我在这里发现的,我曾尝试添加单元格格式,但没有成功。

有人能帮我吗?我做错了什么?如何在Python代码中设置第一个单元格值格式?

正如我所建议的,问题是因为gspread库。在他们的batch_update中,我只能指定";范围";s和";值";但不是";格式";它们还有另一个函数调用:batch_format,它可以设置单元格的格式。所以我的问题解决了。

r2 = NapiFogyasztas.batch_format([{
"range": date_range_str,
"format": {
"numberFormat": {
"type": "DATE",
"pattern": "hh:mm:ss"
}
}
}])

现在还可以,但我想减少HTTP请求的I/O数量,所以我正在寻找一个最精确的解决方案,将这两个步骤统一为一个步骤,因为Google Sheet API可以在batchUpdate方法中完成。也许我会寻找另一个python库来编写电子表格或直接使用Google API。

但剧本正在按预期运行!哈利路亚!

最新更新