- Вы хотите вставить новую строку в 1-ю строку.
- Вы хотите поместить значения
['One', 'Two', 'Three']
во вставленную строку. Вы хотите установите следующий формат ячейки для диапазона «A1: Z7», используя метод batch_update()
gspread.
wrapStrategy='WRAP',
verticalAlignment='MIDDLE',
backgroundColor=gsf.color(0.886, 0.945, 0.988),
textFormat=gsf.textFormat(
foregroundColor=gsf.color(0, 0.129, 0.443),
fontFamily='Roboto',
bold=True
)
Вы хотите добиться этого, используя gspread с python .
Ваша цель - преобразовать следующий скрипт в batch_update()
# Request 1
ws.insert_row(['One', 'Two', 'Three'], 1)
# Request 2
format_cell_range(
ws, 'A1:Z7',
cellFormat(
wrapStrategy='WRAP',
verticalAlignment='MIDDLE',
backgroundColor=color(0.886, 0.945, 0.988),
textFormat=textFormat(
foregroundColor=color(0, 0.129, 0.443),
fontFamily='Roboto',
bold=True
)
)
)
Вы уже были возможность получать и вводить значения для электронных таблиц с помощью API Sheets.
Если мое понимание правильное, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Поток:
В этом случае поток тела запроса batch_update()
выглядит следующим образом.
- Вставить новую строку в 1-ю строку с помощью
insertDimension
. - Поместить значения
['One', 'Two', 'Three']
во вставленную строку с помощью updateCells
. - Установить формат ячейки для диапазона "A1: Z7"
repeatCell
.
Модифицированный скрипт:
spreadsheetId = "###" # Please set the Spreadsheet ID.
sheetName = "###" # Please set the sheet name.
sh = gc.open_by_key(spreadsheetId)
ws = sh.worksheet(sheetName)
sheetId = ws._properties['sheetId']
requests = {
"requests": [
{
"insertDimension": {
"range": {
"sheetId": sheetId,
"startIndex": 0,
"dimension": "ROWS",
"endIndex": 1
}
}
},
{
"updateCells": {
"range": {
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": 1
},
"rows": [
{
"values": [
{
"userEnteredValue": {
"stringValue": "One"
}
},
{
"userEnteredValue": {
"stringValue": "Two"
}
},
{
"userEnteredValue": {
"stringValue": "Three"
}
}
]
}
],
"fields": "userEnteredValue"
}
},
{
"repeatCell": {
"range": {
"sheetId": sheetId,
"startRowIndex": 0,
"endRowIndex": 7,
"startColumnIndex": 0,
"endColumnIndex": 26
},
"cell": {
"userEnteredFormat": {
"wrapStrategy": "WRAP",
"verticalAlignment": "MIDDLE",
"backgroundColor": {
"red": 0.886,
"green": 0.945,
"blue": 0.988
},
"textFormat": {
"foregroundColor": {
"red": 0,
"green": 0.129,
"blue": 0.443
},
"fontFamily": "Roboto",
"bold": True
}
}
},
"fields": "userEnteredFormat"
}
}
]
}
res = sh.batch_update(requests)
Примечание:
- Я понял, что
bulk_update
batch_update
.
Ссылки:
Если я неправильно понял ваш вопрос и это был не тот результат, который вы хотите, я приношу свои извинения.