错误:列表索引必须是整数,而不是单元格

时间:2015-06-01 14:05:36

标签: python google-api google-sheets

我想使用python将数据写入google工作表。现在我已经做了以下事情来实现这个目标:

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)

但是我一直收到以下错误:第28行TypeError: list indices must be integers, not Cell(这是i.value = cell_data [i]的行)。我究竟做错了什么?另一个问题是如何递增计数器,因为现在索引从0开始并计数到19.但是,我希望计数器从1开始并计数到20(对于列,因此我只在data_list中有值数组范围从B1到B20)。

1 个答案:

答案 0 :(得分:2)

在此循环中,i将是Cell而非数字索引

的实例
for i in cell_range:
  i.value = cell_data[i]

你可以使用类似的东西

for index, cell in enumerate(cell_range):
  cell.value = cell_data[index]