1

我正在使用 gspread 库从 Google 电子表格中读取单元格值。我想在范围内循环,如:

col_index=3
i=0
while i<4:
    cell_values_list=[worksheet.cell(r, c).value for r in range(10,20) for c in range(col_index,col_index+3)]
    ...
    ...
    col_index=col_index+3
    i=i+1

而不是使用行列值,我想使用

worksheetworksheet.range('C10:E20')

在下一次迭代中我想要

worksheetworksheet.range('F10:H20')

等等。

谁能帮助我如何迭代或说增加我的列值

4

2 回答 2

1

您可以使用get_addr_int(row, col)将为您的单元格输出字符串标签的函数,请参阅此处的文档:https ://gspread.readthedocs.org/en/latest/#gspread.Worksheet.get_addr_int

如果我在您的情况下得到正确的代码,它将类似于:

col_index=1
i=0
while i<4:
    start_cell = worksheetworksheet.get_addr_int(10, col_index)
    end_cell = worksheetworksheet.get_addr_int(20, col_index+2)
    cell_values_list=worksheetworksheet.range('%s:%s' % (start_cell, end_cell))
    ...
    ...
    col_index=col_index+3
    i=i+1
于 2015-11-03T10:23:41.020 回答
1
for i in xrange(65, 78, 3): # character ord form A to N
    range_str = "%s10:%s10"%(chr(i), chr(i+2))
    worksheetworksheet.range(range_str)        
于 2015-11-03T10:40:55.827 回答