Как вызвать конкретный лист в электронной таблице через API Google Sheets v4 в Python - PullRequest
0 голосов
/ 17 ноября 2018

Я довольно новичок в этом деле, и я действительно ударил кирпичную стену в моем раннем проекте.

Я приложил все усилия, чтобы искать везде, включая - поисковые системы, StackOverflow, документацию по API, и я действительно нигде не могу найти ответ. Поэтому я надеюсь, что уместно спросить.

Я пытаюсь просмотреть диапазон из определенного листа (вкладка внизу) листа Google. Я знаю, что на этом листе есть sheetId, который можно найти в URL. Я могу получить это, однако, я не могу найти абсолютно никакого способа запросить конкретный лист с этим номером. Я нашел способы использовать этот номер для копирования и дублирования листов и даже нашел способ напечатать все доступные листы в электронной таблице.

def suggestion():

SAMPLE_SPREADSHEET_ID = 'mySpreadsheetID'
SAMPLE_RANGE_NAME = 'A1:D12'

"""Shows basic usage of the Sheets API.
Prints values from a sample spreadsheet.
"""
# The file token.json stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
store = file.Storage('token.json')
creds = store.get()
if not creds or creds.invalid:
    flow = client.flow_from_clientsecrets('creds.json', SCOPES)
    creds = tools.run_flow(flow, store)
service = build('sheets', 'v4', http=creds.authorize(Http()))

# Call the Sheets API
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,
                            range=SAMPLE_RANGE_NAME,).execute()
values = result.get('values', [])

if not values:
    print('No data found.')
else:
    for row in values:
        # Print columns A and E, which correspond to indices 0 and 4.
        print(row)

Я полагаю, что ответ, вероятно, здесь https://developers.google.com/resources/api-libraries/documentation/sheets/v4/python/latest/sheets_v4.spreadsheets.values.html, но я не могу его найти.

Прямо сейчас программа открывает лист по умолчанию (вкладка внизу), когда я хочу открыть один из конкретных листов и искать там данные.

Спасибо за любую помощь заранее. Это высоко ценится!

1 Ответ

0 голосов
/ 17 ноября 2018

В Google листах используется А1 для указания диапазона. Это может включать конкретную вкладку, с которой вы пытаетесь получить доступ к значениям.

В качестве значения диапазона можно указать вкладку, добавив имя листа перед диапазоном. Например, если вы хотели что-то от Sheet2:

SAMPLE_RANGE = 'Sheet2!A2:E10'

Если вы переименуете свою вкладку листа, вам нужно будет обновить диапазон, чтобы он соответствовал ему, так как он является ссылкой по имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...