Googlesheet APIv4 getting empty cells

后端 未结 9 1603
我寻月下人不归
我寻月下人不归 2021-01-03 22:03

I have a googlesheet where a column may contain no information in it. While iterating through the rows and looking at that column, if the column is blank, it\'s not returni

9条回答
  •  醉酒成梦
    2021-01-03 22:34

    The only solution I could find is writing your own function:

    def _safe_get(data, r, c):   
        try:
            return data[r][c]
        except IndexError:
            return ''
    
    def read(range_name, service):
        result = service[0].spreadsheets().values().get(spreadsheetId=service[1],
                                                    range=range_name).execute()
        return result.get('values', [])
    
    def safe_read(sheet, row, col, to_row='', to_col='', service=None):
            range_name = '%s!%s%i:%s%s' % (sheet, col, row, to_col, to_row)
            data = read(range_name, service)
    
        if to_col == '':
            cols = max(len(line) for line in data)
        else:
            cols = ord(to_col.lower()) - ord(col.lower()) + 1
        if to_row == '':
            rows = len(data)
        else:
            rows = to_row - row + 1
    
        return [[_safe_get(data, r, c)
                 for c in range(cols)]
                for r in range(rows)]
    

提交回复
热议问题