【发布时间】:2023-01-12 13:08:52
【问题描述】:
我正在尝试使用 batchupdate 更新多个单元格值。但是给我以下错误
我的代码:
import gspread
gc = gspread.service_account(filename='gdrive_cred.json')
sh = gc.open('SmartStraddle').sheet1
stock_name = "NIFTY50"
stock_price = 15000
batch_update_values = {
'value_input_option': 'USER_ENTERED',
'data': [
{
'range': "A1",
'values': [stock_name]
},
{
'range': "B2",
'values': [stock_price]
}
],
}
sh.batch_update(batch_update_values)
错误信息:
Traceback (most recent call last):
File "*\interactiveshell.py", line 3433, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-028b1369fa03>", line 23, in <module>
sh.batch_update(batch_update_values)
File "*\utils.py", line 702, in wrapper
return f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "*\worksheet.py", line 1152, in batch_update
data = [
^
File "*\worksheet.py", line 1153, in <listcomp>
dict(vr, range=absolute_range_name(self.title, vr["range"])) for vr in data
~~^^^^^^^^^
TypeError: string indices must be integers, not 'str'
我正在关注 this google 文档,但不确定如何正确构造 data': [] 字段。
【问题讨论】:
标签: python python-3.x google-sheets google-sheets-api gspread