NameError:尝试访问Google表格时未定义名称“工作表”

时间:2018-11-13 16:15:07

标签: python python-3.x google-sheets google-sheets-api gspread

我正在尝试使用gspread模块从Google电子表格中获取所有值。

我遇到错误

NameError: name 'worksheet' is not defined

下面是我要做的事情:

gc = gspread.authorize(credentials) .    <<- Pass in Google sheet API to establish connection
list_of_lists = worksheet.get_all_values()

任何人都可以协助。谢谢。

1 个答案:

答案 0 :(得分:1)

您似乎正在使用 gspread库。从与Google API相同的文档中,您必须遵循以下步骤:

1. 授权客户端
client = pygsheets.authorize()

2. 选择要打开的文件。 gspread具有三个选项:
2.使用文件名打开:
sh = gc.open('Your File name')
2.b使用工作表ID(您可以从 https://docs.google.com/spreadsheets/d/ 这部分之后的网址中获取)打开
sht = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')
2.c使用整个网址打开:
sht = gc.open_by_url('https://docs.google.com/spreadsheet/ccc?key=0Bm...FE&hl')

3. 选择工作表或标签。 打开后,您可以选择要从中获取数据的工作表或标签

3.a按索引选择工作表。工作表索引从零开始:
worksheet = sh.get_worksheet(0)
3.b按标题:
worksheet = sh.worksheet("January")
3.c或最常见的情况:Sheet1,假设工作表名称中没有空格:
worksheet = sh.sheet1

注意:
获取所有工作表的列表:
worksheet_list = sh.worksheets()

4. 提取数据。最后获取工作表的所有值:
list_of_lists = worksheet.get_all_values()

总结一下:
1.授权客户
2。选择电子表格
3.选择工作表或标签
4.拉取数据

链接到文档:
https://gspread.readthedocs.io/en/latest/