代码之家  ›  专栏  ›  技术社区  ›  jason

Google工作表APIv4列分组

  •  1
  • jason  · 技术社区  · 6 年前

    "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 回复  |  直到 6 年前
        1
  •  1
  •   Tanaike    6 年前

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

    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。如果在较浅深度处展开重叠的组,则折叠的组将保持折叠状态。

    如果我误解了你的问题,我很抱歉。