Search code examples
pythonpython-2.7gspread

How to find the first empty row of a google spread sheet using python GSPREAD?


I am struggling to write codes that find me the first empty row of a google sheet.

I am using gspread package from github.com/burnash/gspread

I would be glad if someone can help :)

I currently have just imported modules and opened the worksheet

scope = ['https://spreadsheets.google.com/feeds']

credentials = ServiceAccountCredentials.from_json_keyfile_name('ddddd-61d0b758772b.json', scope)

gc = gspread.authorize(credentials)

sheet = gc.open("Event Discovery")
ws = sheet.worksheet('Event Discovery')

I want to find row 1158 which is the first empty row of the worksheet with a function, which means everytime the old empty row is filled, it will find the next empty row See here


Solution

  • I solved this using:

    def next_available_row(worksheet):
        str_list = list(filter(None, worksheet.col_values(1)))
        return str(len(str_list)+1)
    
    scope = ['https://spreadsheets.google.com/feeds']
    credentials = ServiceAccountCredentials.from_json_keyfile_name('auth.json', scope)
    gc = gspread.authorize(credentials)
    worksheet = gc.open("sheet name").sheet1
    next_row = next_available_row(worksheet)
    
    #insert on the next available row
    
    worksheet.update_acell("A{}".format(next_row), somevar)
    worksheet.update_acell("B{}".format(next_row), somevar2)