Python操作Google Sheet时如何将行数据写入表格底部而非顶部
向Google Sheet底部插入行的解决方案
你使用的insert_rows()是gspread库的内置方法,不指定行号参数时默认插入到数据区域顶部,要写入底部有两种成熟的实现思路:
方案1:手动指定插入位置
先获取当前表格已有数据的总行数,将插入位置指定为最后一行的下一位即可:
# 计算当前已有数据的行数,自动排除末尾空行的干扰 existing_row_num = len(sheet.get_all_values()) # 第二个参数row指定插入的起始行号,existing_row_num+1就是最后一行数据的下一行 sheet.insert_rows(df_test.values.tolist(), row=existing_row_num + 1)
方案2:直接使用追加方法(更推荐)
gspread提供了专门用于末尾追加数据的append_rows()方法,无需手动计算行号,会自动匹配到已有数据的末尾插入:
sheet.append_rows(df_test.values.tolist())
补充使用注意事项:
- 如果你的DataFrame包含表头,追加前需要先去除表头行,避免重复插入表头
- 若需要保留数据的原始输入格式(比如纯数字的字符串、日期格式不被自动转义),可以添加
value_input_option参数:sheet.append_rows(df_test.values.tolist(), value_input_option='USER_ENTERED') - 当待插入的数据行数超过当前工作表剩余空行时,
append_rows()会自动扩容工作表,无需手动调整总行数
内容的提问来源于stack exchange,提问作者Margot
相关产品推荐
相关产品推荐

