Работаем с Google Sheets API на Python
HTML-код
- Опубликовано: 11 фев 2025
- Мой курс «Хардкорная веб-разработка» - course.to.digital
Книжный клуб Ботаним!, где мы читаем хорошие ИТ-книги: botanim.to.dig...
Telegram: t0digital.t.me
Сказать спасибо за это видео можно здесь - boosty.to/digi...
Google Таблицы, они же Google Sheets - бесплатный мощный табличный процессор, не уступающий по функционалу Microsoft Excel, доступный на всех платформах из браузера или из родных Google приложений. В этом видео мы покажем, как можно читать и записывать данные в таблицы Google Sheets напрямую из Python проектов.
Консоль Google Developers Console - console.develo...
Документация Google Sheets API v4 - developers.goo...
Статья на русском про 4 версию API Google Sheets и её Python обёртку - habr.com/ru/po...
Исходники из видео - github.com/ale...
Другие видео:
ищем ботов в Instagram подписчиках на Python - • Video
эффективно работаем со сложными структурами данных в Python 3.7+ - • Эффективно работаем со...
поднимаем Debian сервер для Python/Django, установка и настройка - • Поднимаем Debian серве...
/****************** about ******************/
Меня зовут Алексей Голобурдин, я программирую с 2004 года и на этом канале делюсь своим опытом. Я основатель и руководитель компаний:
- Диджитализируй digitalize.team, разрабатываем сложные IT системы для бизнеса;
- Salesbeat salesbeat.pro, комплексный модуль доставки для интернет магазинов.
Если у вас есть проект на разработку, пишите нам на hi@digitalize.team.
С другими предложениями, а также если вам нужна одна или несколько индивидуальных консультаций/уроков по разработке (3000 руб/час), пишите мне на alexey@salesbeat.pro.
Telegram канал - t.me/t0digital
ВК - digital...
RuTube - rutube.ru/chan...
Дзен - dzen.ru/id/623...
Ну что, телеграм бота пилим:)?
Гоу💪
Очень интересно, так же увидеть красивые диаграммы, построенные на данных о расходах! Всегда жду новые ролики, они коротенькие, но более информативные, подача на высоте, спасибо!
да😃
@@timurgusmanov3884 спасибо! Да, в Google Sheets как раз такие можно будет запилить, если данные о расходах/доходах туда будут заполняться из бота
пилим
Спасибо, Алексей. Как всегда все понятно и приятно изложено. Вы - молодец!
Огромное спасибо за рабочий пример и отличное обьяснение!
Огромное спасибо!!!! Вчера целый день потратила, чтобы понять, как работают апи у гугл, нигде нет нормального объяснения, чтобы не просто указывали, что делать, а еще и поясняли, почему надо делать именно так. Супер!
Отлично, рад, что полезно! Да, у них все очень неинтуитивно
громадное спасибо. сам полдня бился, пока благодаря этому видео всё заработало.
Спасибо! Работающий и понятный метод. Все оказалось куда проще, чем казалось.
Отлично, спасибо!
Сейчас чтобы получить ключ в 2024 году всё немного поменялось, нет русского языка (больше не поддерживается платформой) и ключ автоматически не скачивается, нужно зайти в "Service accounts" выбрать нужный и зайти через "Actions" > "Manage keys" а там добавить новый ключ
Помог
Спасибо большое. Теперь я научился с гугловыми таблицами работать!
Отлично!
Спасибо, дай Бог Тебе долгих лет и здоровья.
Спасибо огромное за видео, я не программист и что такое Python узнала буквально вчера. И это тот случай, когда я не знаю почему, но благодаря этому видео у меня все работает!!!
Юхууу, отлично! Вы молодец!
Xetyhhdhhkhaas
Как обычно, коротко и понятно. Спс! Ждем бота, была тоже идея написать себе такого. Видимо как раз пришло время )
тоже давно планировал его сделать:)
Очень круто! Спасибо тебе за отличный и очень полезный контент!
Очень подробное видео, спасибо!
17.05.2021. Отчитываюсь, работает (я сам в шоке что там не было трэйсбэка на трэйсбеке). Спасибо огромное!!!
Отлично!
О, круто. Моя первая программа на питоне автоматизировала отчёт на моей работе по таблицам, которые как раз мы ведём в гуглдрайве. Но, так как программа эта была первой, то я не стал морочиться (и так сложно же всё) - и просто экспортировал нужное мне в csv-файлы, с которыми потом и работал.
Да, CSV очень удобен как раз для таких задач! Выгрузил, открыл в Excel или Google Sheets и крути как хочешь
@@t0digital, плюс легко работать через модуль csv.
Огонь!!!! Так круто что ты делаешь, просто голову срываешь. Если даже будешь повторятся не чего страшного. Так классно смотреть твои видео как Шерлока Холмса что все разгадываешь определяешь откуда ноги растут. После просмотра видео серое вещество в голове начинает двигаться, КрАсАвА!!!!!!!!!!! =)
Йеее! Спасибо, приятно! 💪
Спасибо за видео, работал с апи ещё второй версии - было больно. Четверка куда дружелюбнее.
Да, 4ка по отзывам сильно улучшилась по отношению к 2 и 3 версиям. Но до интуитивности всё-таки далеко пока, документации одной мало
Весьма занятно, спасибо!
все понятно. спасибо за урок. лайк
Спасибо! Отличный материал.
Спасибо за отзыв!
Спасибо за видео, очень помогло!
Если вы хотите считать/записать из ОПРЕДЕЛЁННОЙ страницы, то в поле range укажите название страницы. Например: range='Sheet1!A4:C5'
А как вывести всю таблицу?
Извините а как создать новые файлы. Мне надо чтобы мой бот создал новые файли и редактировал их. new_spreadsheet = client.create('My New Spreadsheet') это работает и создаёт новый файл и можно получить данные от этого кода но я не вижу этот файл у себя в странице. Что сделать чтобы я мог видеть файлы которые создал бот
Спасибо безмерное!
Отличные, полезные видео спасибо!
Спасибо!
Гугл поменял порядок использования инструмента драматически. ))) Но видос посмотрел с удовольствием и код повторил, чтобы пальчики работали. Надо будет попозже озадачиться вопросом доведения его до рабочего состояния.
Спасибо большое за видео. Очень помогло. Одна проблема, это глобальное изменение от Google настроек API. Там все очень сильно поменялось.
поменялось, но не сильно. Буквально пара исправлений и всё работает даже сейчас, летом 2023
Отличный гайд!
было бы неплохо увидеть гайд по обновлению данных в ячейке
Очень полезные видосы, спасибо! Уже не один взял на вооружение, Loguru например, Спасибо еще раз. КРАСАВА ПРОДАЛЖАЙ
Спасибо! Рад, что полезно
Огромное спасибо !
у тебя всё получилось?
@@candy4eyes921 так точно. Нужна помощь?
@@ВладиславАндреев-э8т спасибо, всё получилось, разобрался)
Поменяй в дескрипшн Word на Excel. Спасибо за видос!
Спасибо, пофиксил:)
Спасибо. По вашему примеру разобрался как работать с Google Docs. Можете про это тоже рассказать, кстати
спасибо за пример, надеюсь когда-то ты прекратишь показывать примеры в ВИМЕ и перейдешь на демонстрацию в пайчарме!
не планирую переходить на пичарм, особенно после того как они ушли из РФ без возможности их оплатить. Ушли так и досвидули:)
вот красавчик, помог 👍🏻
Очень помог!
СапсиБО ! Всё понятно ))
Спасибо за видео
Блять! У кого рука поднялась диза накинуть. 19 красавчиков программистов. Самые ох.тельные видосы. Четко и по делу.
Этому есть обьяснение, при большом количестве лайков, дизы это лайки, которые промазали
4:00 - в 2021 году ссылка изменилась на console cloud google com/apis/ и в настройках нет поддержки русского языка
Good work
Спасибо!
Спасибо большое
спасибо
Выручил!
при вет, хочешь сказать что у тебя все получилось по этому видео? Я второй день сижу и не могу понять почему у меня не запускается
возможно какие-то апишки с момента выхода видео уже изменились - я давно не проверял
@@t0digital спасибо за ответ.
Здравствуйте! Если у вас будет время, запишите, пожалуйста, видео о настройке сервера для php разработки. Спасибо Вам! Ваши видео очень нравятся и вдохновляют учиться!
Здравствуйте! Имеете в виду сервера в интернете или просто локального?
Спасибо за отзыв!
@@t0digital сервера в интернете. Не так давно было видно о настройке сервера для python разработки
@@darthl1ne понял, да, сделаем. Развернём WordPress:)
@@t0digital Отлично. Огромное спасибо!
ruclips.net/video/LvvSlljb8Yw/видео.html
Видео начинается с 3:01
С 0:00
Сделал себе телеграм бота с gsheets, но не могу никуда залить. При запуске из консоли открывается браузер и просит войти в аккаунт, а когда пытаюсь залить бота на хостинг, браузер либо вообще не открывается, либо просить войти в аккаунт через консоль. В консоли, очевидно, не работает js, поэтому авторизоваться не получается. Может быть есть идеи, как это исправить?
Воодушевился работой с google api (а именно display and video 360) и решил запилить свой скрипт, по разделу быстрый старт получилось потянуть нужные мне данные, а вот когда решил добавить креативы в систему посмотрел пример и добавляю код, а после этого все крашиться. Кто-то может помочь? Уже руки опустил(
у кого проблема с apiclient.discovery - пробуйте googleapiclient.discovery
А что делать, если устанавливаешь модуль googleapiclient, а PyCharm пишет, что не смог найти matching distribution that satisfiess the requirements ?
Снова топ контент подъехал? Да что ж такое... Опять лайки ставить...
так оно и бывает:)
Сейчас к сожалению, уже настройки API и пользователей изменили. Пока буду пытаться разобраться как привязать ключь к API GOOGLE DRIVE но видео класное!
Всё и сейчас работает. Только что проверил. Изменилось только то, что надо убрать в коде одно слово после точки и интерфейс в админке гугла в некоторых местах. А так всё так-же.
@@andrewkuzmin4400 Я вас очень прошу мне это нужно, как воздух как можно с вами связаться. Клянусь я не буду назойливым!!
Ну вот ничего не изменилось говорят. В гугле там по несколько раз изменился интерфейс и способ получения jsona
Добрый день. Сделайте пожалуйста по google drive api+ token . за 2 дня пересмотренного что есть и перепробованного - я уже начинаю верить в силу и простоту Яндекса. Так как с гуглом - полный лес((
Суппер! Интересно, сколько времени понадобится новичку, чтобы провернуть такое.. Чисто новичковый интерес))
я новичек, начал делать по этому примеру, все точь в точь но у меня все равно вылезают ошибки. что то в api за три года поменялось
@@ridanil1 я вот только сейчас созрела для google api, по книге Automate boring stuff - не сработало :( поиск решения привел меня снова к этому видео, и получилось! Буду дальше разбираться))
Мне, новичку, изучившему Python 3 мес. назад хватило 1,5 ч, чтобы разобраться с изменениями, которые произошли со времени записи видео и сделать чтобы рассказанное в видео заработало.
Извините а как создать новые файлы. Мне надо чтобы мой бот создал новые файли и редактировал их. new_spreadsheet = client.create('My New Spreadsheet') это работает и создаёт новый файл и можно получить данные от этого кода но я не вижу этот файл у себя в странице. Что сделать чтобы я мог видеть файлы которые создал бот.
Здравствуйте, уважаемый автор видеороликов. Наверно что-то изменилось, потому что я установил необходимый модуль(и он вроде как подтянул всё что нужно), а PyCharm мне доказывает что не существует такого модуля как: apiclient.discovery и from oauth2client.service_account import ServiceAccountCredentials.
Не могу найти что-то их, может пожалуйста подскажете как исправить?)
Денис, решил проблему ?
@@armenianbigboss у меня такая же проблема, подскажите как решить?
Большое спасибо за видео! Подскажите пожалуйста, есть ли способ вызывать выполнение скрипта прямо из гугл таблицы?
БЕЗУПРЕЧНО. БЛИН УВАЖАЕМЫЙ А КАК ВЫ СДЕЛАЛИ ТАК, ТО ЧТО ВЫ ПИШИТЕ ОТРАЖАЕТСЯ ПАРАЛЛЕЛЬНО НА ЭКРАНЕ? ЧЕРЕЗ КАКУЮ ПРОГРАММУ? СРОЧНО ТРЕБУЕТ ОТВЕТА МОЁ СЕРДЦЕ))
Google Sheets интересная штука. Может даже помочь в работе. Правда если Google заблокируют, то таблицы с данными останутся у них ;)
Одно из лучших обучающих видео роликов. Спасибо большое. Хочу спросить. Пишу бота, который конкретно работает с Google Sheets и выводит значение таблицы, как не пытался нм может bot.send_message(message.chat.id,('Название функции'). Вывести значение функции, без бота работает отлично.
Надо вникать смотреть, так не скажешь, в чем дело. Разбивайте задачу на блоки. Ошибка или в боте, или в блоке гугл шитс, либо в блоке связки этих двух блоков, тестируйте все 3 блока отдельно
Здравствуйте, видео крайне полезное и интересное, спасибо! Только я не могу в доках найти как получать значения ячеек с других листов, кроме первого. Спасибо!
В интернете ответа на свой вопрос я не нашел, поэтому пришлось тупо включать логику и пробовать, в итоге нашел ответ. Когда задаете диапазон, нужно перед ним указывать название листа, именно название. Вот пример range="'4'!A2:I2", 4 - название листа. Надеюсь кому-нибудь помог.
Ошибка KeyError: 'access_token'
Что делать ?
👍👍👍👍👍👍👍👍👍👍👍👍
Спасибо за видео! Прикрутил гугл драйв к чат боту на бесплатном аккаунте pythonanywhere, там всего 500мб, из них либы и бд уже 100мб забило.
Такой вопрос по api , когла разбирался при аплоад файлов поначалу не указывал в какую папку сохранять файлы.и по умолчанию они куда то грузятся (Idпапки по апи достал). По апи эти файлы доступны. А вот когда заходишь со своего аккаунта в Гугл диск и пытаешься открыть эту папку через строку в браузере, пишет - вам доступа в эту папку нет, запрос отправлен, ждите пока откроется.
Короче говоря, куда этот запрос отправляется и как в эту папку зайти в итоге?
Вот такая интересная проблема
Зачем заново придумывать велосипед, когда есть четкая библиотека "pygsheets"?
Не знал о ней, не тестил, если она хороша - отлично:)
А что если апи гугл таблиц использовать для создания бд😁😁🤔
Какие проги использовать для обучения, для конспектирования удобного из инета ? пробовал onenote, всякие maindmap, в итоге остановился на любимых гугл таблицах )
Записывайте там, где вам удобно. Я в Evernote пишу
@@t0digital Evernote - там 1 уровень вложенности, нельзя все по папкам нормально раскидать.
Есть в этом плане более удобная альтернатива Nimbus Note.
@@LKW495 в Evernote есть и папки, и вложенные папки, и тэги - мне нравится. Крайний видос на канале про evernote, кстати
@@t0digital в Зеленом Слонике можно сделать только
Папка/Папка/дальше только файлы.
Папка/Папка/Папка или
Папка/Папка/Папка/Папка УЖЕ НЕЛЬЗЯ!
Когда пользовался было так.
Сейчас иначе?
Nimbus тоже самое только с нормальными папками.
@@LKW495 мне хватает. Как по мне инструмент должен помогать, не усложнять. Блокнот под предмет, 1 заметка в нём - 1 лекция, например. Но это для меня.
Спасибо, есть вариант по цвету отфильтровать? Я имею в виду здесь values = service.spreadsheets().values().get(...)
Почти всё, что можно сделать в самих sheets, можно сделать и через API. Как именно - надо гуглить
@@t0digital гуглил+искал в документации, к сожалению ничего не нашел
Спасибо большое! Подскажи пожалуйста, почему через терминал всё запускается и работает, а если я просто хочу запустить свой файл run.py , то выдает ошибку :"Traceback (most recent call last):
** IDLE Internal Exception:
File "D:\Программирование\Python\lib\idlelib
un.py", line 548, in runcode
exec(code, self.locals)
File "D:\Программирование\Python\Myprograms\googleAPI
un.py", line 3, in
import httplib2
ModuleNotFoundError: No module named 'httplib2''" Почему он ругается на этот модуль при запуске через IDLE? а через консоль запускает?
проверьте, что запускаете через правильное виртуальное окружение
Всем привет ! Есть кто сталкивался с настройкой webhook Google Calendar API? Получаю в ngrock ошибку 503 forbidden, соответственно мне на сервер при этом приходит пустой запрос
Подскажи, пожалуйста, что за шрифт используешь в терминале?
Monaco
pprint (values) ошибка Acsess token(((
Этот метод ещё работает, у меня что-то на Токен доступа ругается?)
та же проблема... Как решил?
А что нужно сделать, чтоб можно было делать в гугл таблице картинку подобно тому как сделан комментарий, слайдер выезжающий короче, и сразу чтоб задать ее размер? Чтоб навел на клетку с таким коментом а тебе картинка вылезла.
Не понял, о чем вы
@@t0digital Навел на ячейку мышку, если там был комментарий он вылезает в контекстном окошке, которое легко масштабировать. Но туда вставляется только текст. Мне хочется сделать так чтоб наводя вылезала картинка, со схемой или т.п. Чтоб ее также удобно было масштабировать. Это как можно сделать?
В очередной раз удивляюсь: как ты всё это успеваешь?
у меня вот такая история прилетает. The redirect URI in the request, localhost:8080/Callback, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: console.developers.google.com/apis/credentials/oauthclient/${your_client_id}?project=${your_project_number}
А как сделать, что бы отображалось только одно значение из ячейки? Без всяких доп. символов и т.д.?
name = name['values'][0][0]
@@ilya5873спасибо большое ) Уже сам разобрался еще тогда, сейчас ботов пишу )
А питон с Экселем подружить? 🤔🤔 🥺🥺🥺🙄🙄
Openpyxl, xlsxwriter
А не подскажешь как менять события в google calendar через api ?
Не работал с календарным апи. Но уверен, что можно:) надо изучать доку
то есть в чужом доке вводить данные не получиться?
По умолчанию - нет.
В целом хорошо, за исключением того что похоже в консоли Google поменялись правила регистрации, теперь там тестеры и подтверждение прав, либо я что то не нашел. И еще, для того что показано в примере, гугл драв ненужон.
А для чего это можно использовать?
Выводить аналитику или сырые данные из бизнес систем для их анализа или даже просто удобного отображения. Мы будем телеграм бота писать для учёта личных финансов, который данные будет в Google Sheets таблицу сохранять, например. Вариантов использования много
Создали робота по учету лф?
телеграм бота писал, да, есть в видео
@@t0digital уже посмотрел))
Может знаете кого то кто может сделать автозагузку данных по торговым операциям с биржи бинанс в гугл таблицы? Насколько это вообще сложно?
думаю, это реалистично. Сделайте заказ на фриланс бирже, кто-то соберёт вам
Сними видео как ты будешь писать простую игру умоляю
Блин, игры совсем не моё:)
@@t0digital снимите как вы пишете игровова бота
Я хочу работать на python! Даже не представляю, как бы на 1С это можно было сделать
Переходите на сторону Python:)
@@t0digital Перехожу постепенно ) Нужна задача, для обучения.
Так и не понял где взять json
google в помощь + новые инструкции ищи
тоже столкнулся что json не качается, ты нашел решение?
@@AAnabioZZ надо зайти в сервисные аккаунты -> нажимаете на почту -> keys -> add key -> create new key
А ее скомпилировать можно ?
Кого?
@@t0digital Вот допустим я ее хочу скомпилировать через pyinstaller. Кстати я и скомпилировал, но не запускается.
@@t0digital Я решил попробовать ваш скрипт и скомпилировать. При запуске выдает ошибку. Вот и хотелось узнать. Можно ли ее вообще компилировать ?
@@amtp01 надо смотреть, в чем ошибка. Говоря в целом - да можно
@@t0digital ошибка может заключаться в неправильности установки модулей, но вроде все правильно установил. Придется искать неисправность. А можно ли содержимое файла.json перенести в сам скрипт?
Спустя 2 года нихрена не найти, все в гугле выглядит иначе, разобраться можно, но это так бесит.
А телеговского бота на aiogram тока делать остальное дрэг
Не робит. Перепробовал все апи, все варианты реализации
Затянутая преамбула... :)
Установил google-api-python-client с помощью команды
# pip3 install --upgrade google-api-python-client
Взял пример для разбора и получаю ошибку при запуске
Traceback (most recent call last):
File "/Users/rkrivov/Code/google-sheets/main.py", line 5, in
from oauth2client.service_account import ServiceAccountCredentials
ModuleNotFoundError: No module named 'oauth2client'
Похоже надо доустановить библиотеку oauth2client.service_account
UPD. Если у кого возникнет такая же проблемы - устанавливаем библиотеку с помощью следующей команды:
# pip3 install --upgrade oauth2client
Попробуйте поставить oauth2client
@@t0digital благодарю, разобрался. Установил и всё заработало. Благодарю за видео.
@@cwanderer9788 отлично!
8:39 я из 2025 по указанной ссылочке у меня API v5
SAPу конкурентом может быть не только эксель.
Система по всем показателям ниже плинтуса.
Ну не по всем. Продают-покупают вот
@@t0digital "Продают-покупают", тут соглашусь. Но это, практически, во всех случаях откаты. А сам учет потом пишут на других инструментах. Знаю, так как сам пару раз писал для SAPа выгрузки из работающих, на самом деле, прикладных систем. Убогие возможности 50-летней давности. Хотя, по всем, типа, отчетам и показателям, учет ведется в SAPe.
Я просто работал в SAP российском. Как технологический продукт по многим параметрам он отстой (именно ERP часть, тк там сейчас есть и современные неплохие решения, не наследующие проблем ERP), но по функционалу и стандартизированности для большого бизнеса он хорош. Про откаты я крайне сильно сомневаюсь. Поводов внедрить SAP много. Приходишь в любую российскую компанию и говоришь - вот тебе 5 мировых лидеров твой отрасли, и все они на SAP. Хочешь быть ближе к лидерам - тебе тоже нужен SAP:) И это вполне рабочая схема, ибо лидеры и вправду на SAP. Или нужна МСФО отчетность для входа зарубежных инвесторов - под это дело тоже часто ставят SAP. Технологичность и бизнес-вопросы это часто совсем про разное. Может быть нетехнологичный инструмент с интерфейсами 50 летней давности, но покрывающий задачи бизнеса, его будут ставить. Мне это тоже не нравится, но жизнь такая)
@@t0digital Нет, не совсем так.
Просто SAP имеет свою долю в ТОП нескольких аудиторских компаний на западе. Так-же они взяли на крючок несколько крупных российских "аудиторских" компаний, Всем им очень неплохо проплачивается за то, что при обследовании предприятий, эти "аудиторы" ненавязчиво советуют и говорят, что их проблемы решит только SAP. Естественно, все это сдабривается обильной рекламой, а так-же поощрением менеджеров,, которые принимают решения о внедрении систем на своих предприятиях. Схема отработана и очень эффективная для продвижения этого старого и очень дорого барахла. Особенно на крупных предприятиях.
Я активно работал с парой российских компаний, продвигающих SAP в России и затыкал проблемы после "внедерний" этой системы.
добрый день, оказывается в google cloud уже нет русского языка
А он там был? Я не уверен
@@t0digital да, у вас на видео на русском console developers. И еще там изменился интерфейс, теперь по этой инструкции ключ уже не скачивается
Три минуты пустого пиздежа, лол
Хуясе!
Спасибо вам большое, очень полезное видео!!!
Большое спасибо за видео!
Спасибо!!
Спасибо за ролик!