如上所述,我尝试使用工作表 ID 作为标识符来更新具有相同信息的多个工作表文件。我尝试用 for 循环来实现这一点,但没有成功。我试图实现此目的的一些基本代码是:
conn = gspread.authorize(credentials)
sheets = ['sheetid1', 'sheetid2']
worksheet_list = conn.open_by_key(sheets).worksheet("Rack Layout")
worksheet_list.update_acell('Q1', 'some cell value')
因此,如果我将“sheets”定义为一张sheetid,则更新工作正常,但是如果我将“sheets”定义为多个sheet,则会出现错误。我知道这确实很基本,我认为问题在于它试图在同一行上打开完整列表(即两个sheetid),而不是说“为一个sheetID运行此行,然后为下一个sheetID运行”。我认为实现这一点的方法是 for 循环,但我还没有让它与 for 循环一起使用。我知道这是一个核心问题,但我已经尝试了一段时间了,从我的搜索中,我没有找到任何其他关于让 gspread 执行此操作的论坛帖子。
最佳答案
- 您有 2 个 Google 电子表格。
- 2 个 Google 电子表格分别具有“Rack Layout”工作表。
- 您想要将“某些单元格值”的值放入每个电子表格的“机架布局”工作表中的单元格“Q1”中。
- 您希望使用 gspread 和 python 来实现此目的。
- 您已经能够使用 Sheets API 获取和输入电子表格的值。
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能答案之一。
在此修改后的脚本中,使用 for 循环将值放入每个电子表格中。
修改后的脚本:
conn = gspread.authorize(credentials)
sheets = ['sheetid1', 'sheetid2']
for sheet in sheets: # Added
worksheet_list = conn.open_by_key(sheet).worksheet("Rack Layout")
worksheet_list.update_acell('Q1', 'some cell value')
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
关于python - 让 gspread 使用相同的数据更新多个电子表格文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59289468/