我正在尝试使用 Gspread 在某个位置插入新列。
我找到了add_cols
方法,但它只插入电子表格的最后一列。
还有其他方法,例如:insert_rows
,resize
或append_rows
,但没有任何方法可以解决我的问题。我错过了什么吗?
谢谢
答案 0 :(得分:0)
为此使用默认的批量更新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)
答案 1 :(得分:0)
不确定这是否现在会帮助您,但可能会帮助其他人。 另外,似乎Gspread还没有添加呢... 如果您使用gspread网站软件包-您可以将其添加到“ models.py”文件中,那么我会在“ def insert_row”上方执行该操作,但实际上您可以在任何位置执行该操作。
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