googlesheetpythonapi:如果don';我不知道范围?
具有从电子表格中获取值的googlesheetpythonapi:如果don';我不知道范围?,python,google-sheets,google-sheets-api,Python,Google Sheets,Google Sheets Api,具有从电子表格中获取值的get方法,但它需要range参数。也就是说,你的代码必须是这样的 sheets_service = service.spreadsheets().values() data = sheets_service.get(spreadsheetId = _GS_ID, range = _SHEET_NAME).execute() 您不能忽略范围参数,值'或值'Sheet1'或类似值(除非有名为Sheet1的工作表) 如果我事先不知道工作表的名称怎么办?我可以参考第一张或最左
get
方法,但它需要range
参数。也就是说,你的代码必须是这样的
sheets_service = service.spreadsheets().values()
data = sheets_service.get(spreadsheetId = _GS_ID, range = _SHEET_NAME).execute()
您不能忽略范围
参数,值'
或值'Sheet1'
或类似值(除非有名为Sheet1
的工作表)
如果我事先不知道工作表的名称怎么办?我可以参考第一张或最左边的那张吗?如果做不到这一点,有没有办法得到所有工作表的列表?我一直在查看API,但没有找到任何用于此目的的内容,但这似乎是一个基本需求,我觉得我缺少了一些明显的东西。您可以使用
电子表格检索电子表格的值和元数据。获取电子表格API。通过使用字段的参数
,您可以检索电子表格的各种信息
样本1:
此示例检索电子表格中的索引、工作表ID和工作表名称。在这种情况下,索引:0
表示第一页
service.spreadsheets().get(spreadsheetId=_GS_ID, fields='sheets(properties(index,sheetId,title))').execute()
res = service.spreadsheets().get(spreadsheetId=_GS_ID, fields='sheets(data/rowData/values/userEnteredValue,properties(index,sheetId,title))').execute()
sheetIndex = 0
sheetName = res['sheets'][sheetIndex]['properties']['title']
lastRow = len(res['sheets'][sheetIndex]['data'][0]['rowData'])
lastColumn = max([len(e['values']) for e in res['sheets'][sheetIndex]['data'][0]['rowData'] if e])
样本2:
此示例使用图纸索引检索数据范围的图纸名称、最后一行和最后一列的编号。当0用于图纸索引时,表示第一张图纸
service.spreadsheets().get(spreadsheetId=_GS_ID, fields='sheets(properties(index,sheetId,title))').execute()
res = service.spreadsheets().get(spreadsheetId=_GS_ID, fields='sheets(data/rowData/values/userEnteredValue,properties(index,sheetId,title))').execute()
sheetIndex = 0
sheetName = res['sheets'][sheetIndex]['properties']['title']
lastRow = len(res['sheets'][sheetIndex]['data'][0]['rowData'])
lastColumn = max([len(e['values']) for e in res['sheets'][sheetIndex]['data'][0]['rowData'] if e])
参考:
-
- 对于列,您可以在上面的线程中看到从索引转换为字母的方法
虽然我不确定这是否是您想要的,例如,为了了解信息,首先,如何使用电子表格的spreadsheets.get方法,如service.spreadsheets().get(spreadsheetId=\GS\u ID)。execute(),检索您想要的电子表格的值和元数据?该文件是。在这种情况下,需要知道电子表格ID。@Tanaike才能工作!它可以工作,并给出一个表单列表。我理解我的困难:我没有注意到spreadsheets()
上也有一个单独的get
方法。该方法返回不同的信息。谢谢你的回复。顺便说一句,如果你想把它写下来作为一个答案而不是一个评论,我很乐意把它作为一个答案进行投票和核对。如果你不指定一个名字,它默认为第一页,但你必须指定列,例如,range=“a:Z”
将从第一页返回列a-Z
。参考:谢谢你的回复。我发布了一个包含示例脚本的答案。你能确认一下吗?