I’d like to write the value of a variable to the 2nd column in a spreadsheet. The below code works for the first iteration. Subsequent iterations are added as new rows in the first column:
for A in AURL: print(A) driver.get(A) imagelanding = driver.find_elements(By.CSS_SELECTOR, 'img[id="landingImage"]') imglinks = [i.get_attribute('data-old-hires') for i in imagelanding] print(imglinks) sh.values_append('PhotoOnlyFeed!B:B',{'valueInputOption': 'USER_ENTERED'},{'values':[imglinks]})
update regarding pattern 1. Values are correct, but off by one row:
Advertisement
Answer
In your situation, how about the following patterns?
Pattern 1:
In this pattern, values_append
is used.
values = [] for A in AURL: print(A) driver.get(A) imagelanding = driver.find_elements(By.CSS_SELECTOR, 'img[id="landingImage"]') imglinks = [i.get_attribute('data-old-hires') for i in imagelanding] print(imglinks) values.append(imglinks) sh.values_append('PhotoOnlyFeed!B:B',{'valueInputOption': 'USER_ENTERED'},{'values':values})
Pattern 2:
In this pattern, update
is used.
values = [] for A in AURL: print(A) driver.get(A) imagelanding = driver.find_elements(By.CSS_SELECTOR, 'img[id="landingImage"]') imglinks = [i.get_attribute('data-old-hires') for i in imagelanding] print(imglinks) values.append(imglinks) worksheet = sh.worksheet("PhotoOnlyFeed") last_row = len(worksheet.col_values(2)) worksheet.update('B' + str(last_row + 1), values, value_input_option='USER_ENTERED')
- In this case, the last row of the column “B” is retrieved by
len(worksheet.col_values(2))
. If you want to retrieve the last row of other column, please modifylen(worksheet.col_values(2))
.