Как пропускать ряд если там уже есть данные? pygsheets
Делаю бота на aiogram. Пользователь вводит данные которые записываются в google sheets.
Как пропускать ряд если в нем уже есть данные?
Есть ли какая то функция в pygsheets? Или придется делать ручками?
Логика такая у каждого id юзера свой ряд.
UPD. Ошибка при append_table()
Task exception was never retrieved
future: <Task finished name='Task-18' coro=<Dispatcher._process_polling_updates() done, defined at C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\dispatcher.py:407> exception=<HttpError 400 when requesting https://sheets.googleapis.com/v4/spreadsheets/1tDUk9g6PYVFKjJ7BWQwX5mMnSDxxRdaWLywJBFIFLYQ/values/%27%D0%9B%D0%B8%D1%81%D1%82%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%20%D0%BE%D0%B4%D0%B8%D0%BD%27%21A2%3AA4:append?valueInputOption=USER_ENTERED&insertDataOption=OVERWRITE&alt=json returned "Invalid value at 'data.values[0]' (type.googleapis.com/google.protobuf.ListValue), "asd"". Details: "[{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'field': 'data.values[0]', 'description': 'Invalid value at \'data.values[0]\' (type.googleapis.com/google.protobuf.ListValue), "asd"'}]}]">>
Traceback (most recent call last):
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 415, in _process_polling_updates
for responses in itertools.chain.from_iterable(await self.process_updates(updates, fast)):
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 235, in process_updates
return await asyncio.gather(*tasks)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\dispatcher.py", line 256, in process_update
return await self.message_handlers.notify(update.message)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\aiogram\dispatcher\handler.py", line 117, in notify
response = await handler_obj.handler(*args, **partial_data)
File "c:\Users\Ramil\Desktop\Telegram\Order\main.py", line 36, in process_surname
wks.append_table(name ,start='A2', end='A4',
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\pygsheets\utils.py", line 214, in wrapper
return func(*args, **kwargs)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\pygsheets\worksheet.py", line 1142, in append_table
response_json = self.client.sheet.values_append(self.spreadsheet.id, values, dimension, range=self._get_range(start, end),
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\pygsheets\sheet.py", line 268, in values_append
return self._execute_requests(request)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\pygsheets\sheet.py", line 496, in _execute_requests
response = request.execute(num_retries=self.retries)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\googleapiclient\_helpers.py", line 130, in positional_wrapper
return wrapped(*args, **kwargs)
File "C:\Users\Ramil\Desktop\Telegram\Order\.venv\lib\site-packages\googleapiclient\http.py", line 938, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 400 when requesting https://sheets.googleapis.com/v4/spreadsheets/1tDUk9g6PYVFKjJ7BWQwX5mMnSDxxRdaWLywJBFIFLYQ/values/%27%D0%9B%D0%B8%D1%81%D1%82%20%D0%BD%D0%BE%D0%BC%D0%B5%D1%80%20%D0%BE%D0%B4%D0%B8%D0%BD%27%21A2%3AA4:append?valueInputOption=USER_ENTERED&insertDataOption=OVERWRITE&alt=json returned "Invalid value at 'data.values[0]' (type.googleapis.com/google.protobuf.ListValue), "asd"". Details: "[{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'field': 'data.values[0]', 'description': 'Invalid value at \'data.values[0]\' (type.googleapis.com/google.protobuf.ListValue), "asd"'}]}]">
Источник: Stack Overflow на русском