我想用python写数据到谷歌表。现在,我做了以下操作来实现这个目标:
gc = gspread.authorize(credentials)
sh = gc.open('test')
worksheet = sh.worksheet('Sheet1')
cell_list = []
cell_data = []
for e in range(len(scholar_key)):
cell_list.append('B' + str(e))
for d in scholar_key:
cell_data.append(d['titel'])
cell_range = worksheet.range(cell_list[1]+ ":" +cell_list[-1])
for i in cell_range:
i.value = cell_data[i]
worksheet.update_cells(cell_range)
但我一直得到以下错误:TypeError: list indices must be integers, not Cell
在第28行(这是行I .value = cell_data[I]是陈述)。我做错了什么?另一个问题是如何增加计数器,因为现在索引从0开始计数到19。但是,我希望计数器从1开始计数到20(对于列,这样我的data_list数组中只有从B1到B20的值)。
在此循环中,i
将是Cell
的实例,而不是数字索引
for i in cell_range:
i.value = cell_data[i]
你可以这样写
for index, cell in enumerate(cell_range):
cell.value = cell_data[index]