Как использовать FindReplace для указания имени листа с помощью Google API V4 Python - PullRequest
1 голос
/ 18 июня 2020

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

Я использовал batchUpdate , но я могу заменить только тот же столбец, но не ту же строку, и только на первом листе моей электронной таблицы.

Вот script:

#file_name and file_ID: obtain when upload the files,
def update(file_name, file_ID):

    range_name = file_name + "!A:B"

    requests = []
    requests.append([{
        "findReplace": {
            "find": Date,
            "replacement": FileID,
            "matchCase": True,
            "matchEntireCell": True,
            "searchByRegex": True,
            "range": {
                "sheetId": 0,
                "startColumnIndex": 0,
                "endColumnIndex": 1
            },
        }
    }])

    body = {"requests": [requests]}
    response = service.spreadsheets().batchUpdate(
        spreadsheetId=spreadsheet_id, body=body).execute()
    pprint(response)

Есть ли способ, которым я могу использовать, чтобы определить, является ли имя столбцом A на листе "filetype1" (необходимо сопоставить имя листа, чтобы определить, под каким листом первым), затем заменить идентификатор в столбце B?

Example sheet

1 Ответ

0 голосов
/ 18 июня 2020

Я понимаю, что у вас есть таблица, в которой вы хотите найти Date и изменить его ID значение той же строки. Если вы все поняли правильно, вам нужно будет использовать методы Values.get() и Values.update().

Сначала вам нужно будет использовать get, чтобы прочитать полную стол. Разберите его с помощью Python и подставьте соответствующие значения. После этой операции вы можете загрузить полную таблицу в виде запроса update. Пожалуйста, не стесняйтесь задавать мне дополнительные вопросы.

...