- Вы хотите скопировать значения из листа на другой лист в электронной таблице Google.
- Вы хотите добиться этого с помощью gspread с python.
- У вас уже есть удалось получить и разместить значения для таблицы Google с помощью API Google Sheets.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
В этом ответе я хотел бы предложить использовать batch_update
для копирования значений из листа на другой лист в электронной таблице. В этом случае ваша цель может быть достигнута одним вызовом API.
Пример сценария:
В этом примере сценария сценарий авторизации удален. Пример сценария для копирования значений из листа на другой лист в электронной таблице. Поэтому, когда вы используете этот скрипт, пожалуйста, добавьте скрипт авторизации и запустите скрипт.
spreadsheetId = "###" # Please set the Spreadsheet ID.
sourceSheetName = "Sheet1" # Please set the sheet name of source sheet.
destinationSheetName = "Sheet2" # Please set the sheet name of destination sheet.
client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
sourceSheetId = spreadsheet.worksheet(sourceSheetName)._properties['sheetId']
destinationSheetId = spreadsheet.worksheet(destinationSheetName)._properties['sheetId']
body = {
"requests": [
{
"copyPaste": {
"source": {
"sheetId": sourceSheetId,
"startRowIndex": 0,
"endRowIndex": 5,
"startColumnIndex": 0,
"endColumnIndex": 5
},
"destination": {
"sheetId": destinationSheetId,
"startRowIndex": 0,
"endRowIndex": 5,
"startColumnIndex": 0,
"endColumnIndex": 5
},
"pasteType": "PASTE_VALUES"
}
}
]
}
res = spreadsheet.batch_update(body)
print(res)
Примечание:
- В этом примере скрипта значения ячеек
A1:E5
в листе "Лист1" копируются в ячейки A1:E5
в листе "Лист2". - В этом случае диапазон задается GridRange .
- Это простой пример сценария. Поэтому, пожалуйста, измените это для вашей реальной ситуации.
Ссылки:
Если я неправильно понял ваш вопрос, и вы не указали хочу, извиняюсь.