Google表格APIv4列分组

时间:2018-06-25 02:54:22

标签: python google-sheets-api google-api-python-client

我得到

"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 :(得分:1)

您要在电子表格中创建组。如果我的理解是正确的,那么这个答案怎么样?

1。添加组

Your request body can be used when the spreadsheet is created using 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": "*"
            }
        }
    ]
}

the document

  

如果该组已折叠,则此字段(collapsed)为true。如果展开较浅深度的重叠组,则折叠组仍保持折叠状态。

参考:

如果我误解了你的问题,对不起。