使用 gspread,试图在 Google Sheet 的末尾添加一个已经存在的列

Using gspread, trying to add a column at the end of Google Sheet that already exists

这是我正在使用的代码。

dfs=dfs[['Reserved']] #the column that I need to insert
dfs=dfs.applymap(str)    #json did not accept the nan so needed to convert
sh=gc.open_by_key('KEY')     #would open the google sheet 
sh_dfs=sh.get_worksheet(0)    #getting the worksheet
sh_dfs.insert_rows(dfs.values.tolist())    #inserts the dfs into the new worksheet

运行 此代码将在工作表的第一列插入行,但我想要完成的是 adding/inserting 最后一列,第 p 列。

你的情况,下面的修改怎么样?在这个修改中,首先,检索最大列。并且,将列号转换为列字母,并将值放入最后一列的下一列。

发件人:

sh_dfs.insert_rows(dfs.values.tolist())

收件人:

# Ref: 
def colnum_string(n):
    string = ""
    while n > 0:
        n, remainder = divmod(n - 1, 26)
        string = chr(65 + remainder) + string
    return string

values = sh_dfs.get_all_values()
col = colnum_string(max([len(r) for r in values]) + 1)
sh_dfs.update(col + '1', dfs.values.tolist(), value_input_option='USER_ENTERED')

注:

  • 如果出现类似exceeds grid limits的错误,请插入空白栏。

参考: