Примечание Imp: если вы хотите читать и писать gsheet с помощью python, этот блог решит вашу проблему. это моя 100% гарантия, но для этого вам нужно не торопиться и внимательно ее прочитать.
Здравствуйте, ученые,
Сегодня мы увидим, как читать данные из одной электронной таблицы Google, выполнять некоторые операции с данными и снова записывать эти данные в другую электронную таблицу Google.
Звучит круто? Давайте начнем
Во-первых, вам нужно импортировать следующие пакеты с помощью Pip.
pip install google_spreadsheet pip install google-auth-oauthlib pip install pandas
Затем возьмите идентификатор листа Google, из которого вы хотите прочитать данные.
- Получите идентификатор листа.
- Перейдите в электронную таблицу (в моем случае я хочу прочитать данные из таблицы athlete_event) и нажмите «Поделиться».
2. После того, как вы нажмете на общий ресурс, вы получите такую страницу, поэтому нажмите на ссылку для копирования.
3. Вы получите ссылку в этом формате.
Полужирный текст - это ваш идентификатор таблицы Google. (если вы читаете данные из чужого листа, тогда этот лист должен быть передан вашему идентификатору Google)
- Включите API таблиц Google.
Перейдите на https://developers.google.com/sheets/api/quickstart/python.
Нажмите кнопку API «Включить лист Google», загрузите файл JSON и сохраните его в той же папке, где будет сохранен наш код.
(если вы впервые используете облако Google, активируйте GCP и создайте новый проект)
- Запустите следующий код в своей среде Python.
В этом коде вы должны внести следующие изменения.
- изменить идентификатор таблицы Google.
- изменить файл JSON.
- изменить диапазон листа в соответствии с вашими данными. (если нужно)
После того, как вы внесете эти изменения, ссылка для аутентификации появится после того, как вы запустите код, поэтому аутентифицируйтесь, войдя в свою учетную запись Google.
Этот код будет считывать данные из вашей таблицы Google и сохранять их в фреймворке pandas.
Давайте быстро разберемся с кодом.
- Импортированы необходимые библиотеки.
- Определил объем листа. Объем может быть изменен по мере необходимости.
поскольку мы читаем лист, мы можем выбрать любую из первых двух областей.
3. Введены ID и диапазон листа. с указанного идентификатора и данные из выбранного диапазона будут считаны по коду.
4. Аутентифицированный API Google с помощью загруженного файла JSON. Используя этот файл, мы создали файл «token.pickle», который будет сохранен на нашем компьютере для будущего использования, и всякий раз, когда этот файл рассола истечет, наш код обновит файл.
5. Создал сервис, который будет вызывать API таблиц и получать данные. затем, наконец, сохранение данных в кадре данных pandas.
6. Здесь мы храним наши учетные данные в файле pickle, чтобы каждый раз, когда нам не приходилось проходить процесс аутентификации и отправки этого файла pickle на сервер, мы могли легко запустить его в производство.
Теперь вы можете выполнять любую операцию над фреймом данных. (как правило, я использую это для ввода нескольких пользователей, поэтому мне не нужно вносить изменения в свой код при изменении значений некоторых переменных)
Записать фреймворк в таблицу Google.
Я прочитал данные из таблицы "athlete_events" и сохранил их во фрейме данных. Теперь мне нужны данные только тех спортсменов, которые выиграли золотые медали по гимнастике в таблице «gold_medal».
Круто…. давай сделаем это.
- Получите идентификатор листа, на котором вы хотите сохранить свой вывод.
- Определите, какой диапазон займет мой вывод.
Этот код создаст файл pickle из файла JSON, построит сервис и, наконец, обновит записи на листе «gold_medal».
После выполнения вышеуказанного кода откроется окно аутентификации с запросом доступа. после разрешения доступа для записи в лист придет сообщение об успешной аутентификации.
Woooooooooo… .. Теперь наш фрейм данных находится в нашем листе вывода.
Спасибо ❤️
Нажмите здесь, чтобы оставаться на связи
Если возникнут сомнения по поводу этого блога, пожалуйста, свяжитесь со мной Linkedin
Использованная литература:
Https://developers.google.com/sheets/api/quickstart/python.
Https://learndataanalysis.org/create-a-function-to-construct-service-instance-for-google-api/