Python Gspread能否在位置插入新列?

Python Gspread能否在位置插入新列?,python,google-sheets,gspread,Python,Google Sheets,Gspread,我正在尝试使用Gspread在某个位置插入新列。 我找到了add\u cols方法,但它只插入电子表格的最后一列 还有其他方法,例如:insert_rows、resize或append_rows,但没有任何方法可以解决我的问题。我错过什么了吗? 谢谢为此使用默认的批处理更新API spreadsheetId='' sheetId='' sht = gc.open_by_key(spreadsheetId) requests = [] requests.append({ "ins

我正在尝试使用Gspread在某个位置插入新列。 我找到了
add\u cols
方法,但它只插入电子表格的最后一列

还有其他方法,例如:
insert_rows
resize
append_rows
,但没有任何方法可以解决我的问题。我错过什么了吗?
谢谢

为此使用默认的批处理更新API

spreadsheetId=''
sheetId=''

sht = gc.open_by_key(spreadsheetId)

requests = []

requests.append({
      "insertDimension": {
        "range": {
          "sheetId": sheetId,
          "dimension": "COLUMNS",
          "startIndex": 2,
          "endIndex": 4
        },
        "inheritFromBefore": True
      }
    })

body = {
    'requests': requests
}

sht.batch_update(body)

现在不确定这是否会帮助你,但可能会帮助其他人。 而且,似乎Gspread还没有添加这个。。。 如果你使用gspread站点包,你可以将它添加到“models.py”文件中,我在“def insert_行”上面做了,但实际上你可以在任何地方做

    def insert_col(self,values,index=1,value_input_option='RAW'):
        body = {
            "requests": [
                {
                    "insertDimension": {
                        "range": {
                            "sheetId": self.id,
                            "dimension": "COLUMNS",
                            "startIndex": index - 1,
                            "endIndex": index,
                        }
                    }
                }
            ]
        }
        self.spreadsheet.batch_update(body)

        range_label = absolute_range_name(self.title, 'A%s' % index)

        data = self.spreadsheet.values_update(
            range_label,
            params={'valueInputOption': value_input_option},
            body={'values': [values]},
        )

        return data

不,我不认为你遗漏了什么:没有相应的
插入列
方法。对不起,我是说
添加列
,我已经编辑过了