如何使用gspread向特定列添加行?
我有一个谷歌表格,上面有一些值。可以想象成这样:
标题1 | 列1 | 标题3 | 列2 |
---|---|---|---|
第一行 | 行 | ||
第二行 | 行 |
我还会有其他数据,这些数据会分别填充第二列和第四列。
所以我想用 append_row 方法,并且指定列名,因为在每次处理完(我的代码)后,我想立即把数据添加到我的谷歌表格里。
目前我做的事情(我想改变这个逻辑):
我有这两列。所以在我的代码完成后(所有数据准备好后),我之前是通过更新工作表来添加这些数据的,像这样(我在用 gspread):
headers = worksheet.row_values(1)
col1_index = headers.index('col1') + 1
col2_index = headers.index('col2') + 1
for item in result:
col1_list.append(item['col1'])
col2_list.append(item['col2'])
col1_transposed = [[item] for item in col1_list]
col2_transposed = [[item] for item in col2_list]
col1_range = '{}2:{}{}'.format(chr(65 + col1_index - 1), chr(65 + col1_index - 1),
len(col1_list) + 1)
col2_range = '{}2:{}{}'.format(chr(65 + col2_index - 1), chr(65 + col2_index - 1),
len(col2_list) + 1)
worksheet.update(col1_range, col1_transposed)
worksheet.update(col2_range, col2_transposed)
但现在我想说,我想把我的数据一行一行地添加到指定的列中。在每次处理后,我会得到这样的数据:
{'col1': 'value1', 'col2': 'value2'}
其中 value1 会放在第一行的列1,value2 会放在列2。
之后我会从代码中得到相同的结果:
{'col1': 'value3', 'col2': 'value4'}
我希望看到的结果是:
标题1 | 列1 | 标题3 | 列2 |
---|---|---|---|
第一行 | value1 | 行 | value2 |
第二行 | value3 | 行 | value4 |
1 个回答
暂无回答