繁体   English   中英

获取 gspread 以使用相同的数据更新多个电子表格文件

[英]Getting gspread to update multiple spreadsheet files with the same data

如上所述,我尝试使用工作表 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' 定义为多个工作表,则会出现错误。 我知道这真的很基本,我认为问题在于它试图在同一行上打开完整列表(即两个 sheetid),而不是说“先为一个 sheetID 运行此行,然后再运行下一个”。 我认为实现这一点的方法是 for 循环,但我还没有让它与 for 循环一起工作。 我知道这是一个 nube 问题,但我已经尝试了一段时间,从我的搜索中我没有找到任何其他关于让 gspread 做到这一点的论坛帖子。

  • 您有 2 个 Google 电子表格。
    • 2 谷歌电子表格分别有“机架布局”表。
  • 您想将“某个单元格值”的值放在每个电子表格的“机架布局”表中的单元格“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')

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM