Заполните пустую ячейку уникальным значением в Google Sheets с помощью Python - PullRequest
1 голос
/ 14 апреля 2020

Я новичок в использовании Python с API Google Sheets, и я пытаюсь заполнить ячейку адресом электронной почты, ЕСЛИ этот адрес электронной почты не существует в столбце этой ячейки.

У меня есть :

ws = client.open('Workbook Name').worksheet('Worksheet Name')
ws.update_acell('A2', 'someemail@info.com') 

Что отлично работает. Логически говоря, я бы хотел:

if email in range(A:A):
    'Email exists'
else:
    update next cell in range(A:A) that is empty

Надеюсь, что это имеет смысл.

Пример вывода:

    |   A    |
     --------
 1  | email1 |
 2  | email2 |

, если email3 не находится в диапазоне (A: A) обновить до следующей доступной ячейки в диапазоне (A: A)

    |   A    |
     --------
 1  | email1 |
 2  | email2 |
 3  | email3 |

Я не хочу жестко кодировать (A3). Я хочу, чтобы динамически найти следующую свободную ячейку, желательно с расширенной функцией.

1 Ответ

1 голос
/ 18 апреля 2020
  • Вы хотите добавить значение в столбец «A», когда значение не найдено в столбце «A».
  • Вы хотите добиться этого, используя gspread с python.
  • Вы уже смогли получить и поместить значения для Google Spreadsheet с помощью Sheets API.

В этом ответе значения извлекаются методом col_values(), а значение добавляется с использованием метода append_row().

Пример сценария:

spreadsheetId = "###"  # Please set the Spreadsheet ID.
sheetName = "Sheet1"  # Please set the sheet name.

client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
ws = spreadsheet.worksheet(sheetName)
value = "email3"
if value not in ws.col_values(1):
    ws.append_row([value], value_input_option="USER_ENTERED")
  • В этом сценарии, когда email3 не включен в столбец «A», email3 добавляется к столбцу «А».

Ссылки:

...