使用 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
的错误,请插入空白栏。
参考:
这是我正在使用的代码。
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
的错误,请插入空白栏。