错误:列表索引必须是整数,而不是Cell



我想用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]

相关内容

  • 没有找到相关文章

最新更新