Google листы APIv4 группировки столбцов - PullRequest
0 голосов
/ 25 июня 2018

Я получаю

"endIndex": end_number 
TypeError: unhashable type: 'dict'

ошибка с этим кодом:

def group_columns(self,key,sheet_name,column_start,column_stop):  
        sheetId=self.get_id(key,sheet_name)
        start_number=col2num(column_start)-1
        end_number=col2num(column_stop)
        print(end_number)
        data={'requests':
          [
            {
              "updateSheetProperties": {
                    "columnGroups": [
                        {
                            "range": {
                                        { "sheetId": sheetId,
                                          "dimension": "COLUMNS",
                                          "startIndex": start_number,
                                          "endIndex": end_number
                                        }
                             },
                             "depth": 1,
                             "collapsed": "True"
                        }

                    ]
               } 

             }
          ]
        }
        results=self.service.spreadsheets().batchUpdate(spreadsheetId=key, body=data).execute()   

все, что я пытаюсь сделать, это сгруппировать несколько столбцов, и я следую за ссылкой здесь: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#DimensionGroup

1 Ответ

0 голосов
/ 25 июня 2018

Вы хотите создать группу в электронной таблице. Если мое понимание верно, как насчет этого ответа?

1. Добавить группу

Тело вашего запроса можно использовать при создании электронной таблицы с использованием sheets.spreadsheets.create. Если вы хотите добавить группу в существующую электронную таблицу, вы можете использовать следующее тело запроса.

data = {
    "requests": [
        {
            "addDimensionGroup": {
                "range": {
                    "dimension": "COLUMNS",
                    "sheetId": sheetId,
                    "startIndex": start_number,
                    "endIndex": end_number
                }
            }
        }
    ]
}

2. Группа обновлений

Если вы хотите обновить существующую группу, вы можете использовать следующее тело запроса. В этом случае используйте тот же диапазон с существующей группой, которую вы хотите обновить.

data = {
    "requests": [
        {
            "updateDimensionGroup": {
                "dimensionGroup": {
                    "range": {
                        "dimension": "COLUMNS",
                        "sheetId": sheetId,
                        "startIndex": start_number,
                        "endIndex": end_number
                    },
                    "depth": 1,
                    "collapsed": true
                },
                "fields": "*"
            }
        }
    ]
}

Из документа ,

Это поле (collapsed) имеет значение true, если эта группа свернута. Свернутая группа остается свернутой, если расширяющаяся группа на меньшей глубине расширяется.

Ссылка:

Если я неправильно понял ваш вопрос, извините.

...