Ответ:
В gspread
нет способа удалить весь столбец, например Workbook.delete_row
, однако вы можете сделать это с помощью пакетного обновления.
Пример кода:
spreadsheetId = "your-spreadsheet-id"
sheetId = "id-of-sheet-to-delete-column-from"
sh = client.open_by_key(spreadsheetId)
request = {
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "COLUMNS",
"startIndex": 0,
"endIndex": 1
}
}
}
]
}
result = sh.batch_update(request)
Этот образец удалит столбец A, но обязательно измените startIndex
и endIndex
на диапазон столбцов, который вы хотите удалить sh. 1014 *
Редактировать: Если вы не знаете sheetId
данного листа, вы можете получить его, используя следующее:
sheetName = "theSheetName"
sheetId = sh.worksheet(sheetName)._properties["sheetId"]
Обратите внимание, что это не нужно для исходный лист электронной таблицы, так как это будет всегда be 0
.
Я надеюсь, что это полезно для вас!
Ссылки:
Обновление 2020-04-15:
Этот скрипт был объединен с gspread
master сегодня запрос на получение # 759 как метод delete_column()
.
Метод будет доступен в следующем выпуске v3.5.0
.
Метод для delete_columns()
также был добавлен в качестве параллельного метода к существующему delete_rows()
из запроса на получение # 761 .