首页 > 解决方案 > TypeError: 'bool' 对象在尝试使用 unlink() 时没有属性 '__getitem__'

问题描述

我需要做很多受保护的范围操作。我想取消链接工作表以在本地副本上执行操作并在之后同步它。然而,这不起作用。

spreadsheet = googleCloud.open_by_key(key)
worksheets = spreadsheet.worksheets()
worksheets[4].unlink()
print(worksheets[4].get_value((1, 5)))

此代码导致异常:

  File "/usr/local/lib/python2.7/dist-packages/pygsheets/worksheet.py", line 293, in get_value
    include_tailing_empty_rows=True, value_render=value_render)[0][0]
TypeError: 'bool' object has no attribute '__getitem__'

没有 unlink() 代码按预期工作。我是否错误地使用了这种方法?来自暂存的 pygsheets。

标签: pythongoogle-sheetspygsheets

解决方案


您无法从未链接的工作表中获取值。

当一个未链接的工作表被链接时,这些事情就会发生。

  1. 工作表属性 json 已同步到云端。
  2. 来自的单元格data_grid同步到云端。
  3. 重放在未链接状态期间调用的所有数据更新调用。

因此,当工作表不受欢迎时,任何单元格数据获取功能都将不起作用。如果要获取工作表数据,请使用worksheet.data_grid,它是在取消链接时保存的。它是一个细胞矩阵。


推荐阅读