Обновите значение ячейки таблицы с помощью Python - PullRequest
1 голос
/ 29 марта 2020

Я пытаюсь обновить значение в Python, вот мой код:

from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request

global values
global sheet
global SAMPLE_SPREADSHEET_ID
global SAMPLE_RANGE_NAME

def connexion():
    # Some code ...
    # Call the Sheets API
    return service.spreadsheets()

def update(values, sheet, SAMPLE_SPREADSHEET_ID, SAMPLE_RANGE_NAME):
    body = {
        'values': values
    }
    result = sheet.values().update(
    spreadsheetId=SAMPLE_SPREADSHEET_ID, range=SAMPLE_RANGE_NAME, valueInputOption='USER_ENTERED', body=body).execute()
    if str(result.get('updatedCells')) != 0:
        return True
    return False

sheet = connexion()
values = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID, range=SAMPLE_RANGE_NAME).execute().get('values', [])
for line in values:
    if line[3] == 'Hi !':
        line[5] == 'hello'
if update(values, sheet, SAMPLE_SPREADSHEET_ID, SAMPLE_RANGE_NAME):
    print('   Update ok')
else:
    print('   Error')

У меня нет ошибок, но выводится сообщение "Обновление в порядке". Однако значение в 6-й строке ячейки [5] не обновляется ... Как я могу это сделать, пожалуйста? Спасибо!

1 Ответ

1 голос
/ 29 марта 2020

Как насчет этой модификации?

Когда переменная sheet в вашем скрипте может использоваться для получения и размещения значений в электронной таблице Google, я думаю, что ваш самый скрипт является правильным. Я думаю, что есть только одна точка модификации. Значение line[5] сравнивается с hello при line[5] == 'hello'. Таким образом, hello не устанавливается на line[5]. Я думаю, что причина вашей проблемы заключается в следующем. Поэтому, пожалуйста, измените следующим образом.

С:

line[5] == 'hello'

Кому:

line[5] = 'hello'

Примечание:

  • В этой модификации это Предполагается, что столбцы values, извлеченные из sheet.values().get(), превышают 6.

Если это не было прямым решением, я прошу прощения.

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