2015-11-03 64 views
1

我正在使用gspread庫從Google電子表格中讀取單元格值。 我要循環,如範圍:while循環增加django範圍

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') 

和等等。

誰能請幫助我,我怎麼能重複或者說增加我的列值

+0

有多少列有在您的電子表格? A到Z或更多? – Nhor

+0

我想從列A到N和第10到20行訪問 –

回答

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 
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)