Python membaca lembar google tanpa api

GSpread adalah paket Python yang membuatnya cepat dan mudah untuk membaca dan menulis data dari spreadsheet Google Sheets yang disimpan di Google Drive Anda ke dalam Python. Dengan sedikit kode tambahan, Anda juga dapat memuat data Google Sheets langsung ke kerangka data Pandas

Setelah data GSheets Anda berada dalam kerangka data Pandas, Anda dapat memanipulasi sesuai keinginan, menghubungkannya ke sumber data lain, atau mendorongnya ke sistem lain, seperti database, atau mendorongnya kembali ke Google Sheets sehingga Anda dapat mengaksesnya melalui Google Data . Berikut panduan singkat tentang cara melakukannya

Instal paket

Pertama, buka notebook Jupyter dan instal paket GSpread Python dengan memasukkan !pip3 install gspread ke dalam sel lalu jalankan dengan menekan shift dan enter. Kemudian impor paket gspread dan pandas. . pip3 instal gspread

import gspread as gs
import pandas as pd

Selanjutnya, gunakan fungsi service_account[]_ dari GSpread untuk mengautentikasi akun Google Spreadsheet Anda menggunakan file kunci JSON rahasia klien untuk akun layanan Anda. Anda bisa mendapatkan salah satunya dari Google API Console

gc = gs.service_account[filename='service_account.json']
_

Buka Lembar Google dengan Python

Sekarang kami memiliki koneksi ke Google Sheets yang disimpan di objek

gc = gs.service_account[filename='service_account.json']
0, kami dapat menambahkan fungsi
gc = gs.service_account[filename='service_account.json']
1 ke ini dan meneruskan URL spreadsheet Google Sheets yang ingin kami muat di Pandas. Ini kemudian akan menggunakan koneksi yang diautentikasi untuk mengambil data dan menariknya ke notebook Jupyter Anda sebagai objek spreadsheet Gspread

sh = gc.open_by_url['//docs.google.com/spreadsheets/d/1vxyaK4dDdXzDJ5Axakrvik4CUxzGyHvgmmBQJ3Qo7dE/edit?usp=sharing']
_

Pilih lembar kerja tertentu

Spreadsheet di Google Sheets dan Excel dibagi menjadi beberapa lembar kerja. Apakah spreadsheet Anda berisi satu lembar kerja atau beberapa lembar kerja bernama, Anda harus memuat yang spesifik. Untuk melakukan ini, kami menambahkan fungsi

gc = gs.service_account[filename='service_account.json']
2 ke objek spreadsheet
gc = gs.service_account[filename='service_account.json']
3 dan memberinya nama seet

ws = sh.worksheet['Courses']

Untuk mengakses konten dari lembar kerja, kami menambahkan fungsi

gc = gs.service_account[filename='service_account.json']
4 ke objek yang berisi lembar kerja. Ini mengembalikan kamus Python yang berisi semua data di lembar kerja. ws. get_all_records[] Karena kami ingin menampilkan konten Lembar Google kami dalam kerangka data Pandas, kami perlu membuat kerangka data dari kamus itu. Ini sebenarnya sangat mudah. Satu baris kode akan melakukannya untuk kita

df = pd.DataFrame[ws.get_all_records[]]
df.head[]
_

course_titlecourse_durationcourse_typecourse_categories0Jaringan Syaraf Berulang untuk Pemodelan Bahasa. 4 jamKursusPembelajaran Mesin1Analisis Keranjang Pasar dengan Python4 jamKursusPembelajaran Mesin2Pembelajaran Mesin untuk Semua Orang4 jamKursusPembelajaran Mesin3Pembelajaran Mesin untuk Bisnis4 jamKursusPembelajaran Mesin4Berlatih Pertanyaan Wawancara Pembelajaran Mesin. 4 jamKursusPembelajaran Mesin

Quickstart Google Workspace menggunakan library klien API untuk menangani beberapa detail alur autentikasi dan otorisasi. Kami menyarankan Anda menggunakan pustaka klien untuk aplikasi Anda sendiri. Sebelum Anda dapat menjalankan aplikasi contoh, setiap quickstart mengharuskan Anda mengaktifkan autentikasi dan otorisasi. Jika Anda tidak terbiasa dengan autentikasi dan otorisasi untuk Google Workspace API, baca Ringkasan autentikasi dan otorisasi

Buat aplikasi baris perintah Python yang membuat permintaan ke Google Sheets API

Tujuan

  • Siapkan lingkungan Anda
  • Instal pustaka klien
  • Siapkan sampel
  • Jalankan sampel

Prasyarat

Untuk menjalankan quickstart ini, Anda memerlukan prasyarat berikut

  • Piton 3. 10. 7 atau lebih
  • Alat manajemen paket pip
  • Proyek Google Cloud
  • Akun Google

Siapkan lingkungan Anda

Untuk menyelesaikan quickstart ini, siapkan lingkungan Anda

Aktifkan API

Sebelum menggunakan Google API, Anda harus mengaktifkannya di project Google Cloud. Anda dapat mengaktifkan satu atau beberapa API dalam satu project Google Cloud
  • Di Google Cloud Console, aktifkan Google Sheets API

    Aktifkan API

Otorisasi kredensial untuk aplikasi desktop

Untuk mengautentikasi sebagai pengguna akhir dan mengakses data pengguna di aplikasi, Anda perlu membuat satu atau beberapa OAuth 2. 0 ID Klien. ID klien digunakan untuk mengidentifikasi satu aplikasi ke server OAuth Google. Jika aplikasi Anda berjalan di beberapa platform, Anda harus membuat ID klien terpisah untuk setiap platform
  1. Di Google Cloud Console, buka Menu menu > API & Layanan > Credentials.

    Buka Kredensial

  2. Klik Buat Kredensial > ID klien OAuth.
  3. Klik Jenis aplikasi > Aplikasi desktop.
  4. Di bidang Nama, ketikkan nama untuk kredensial. Nama ini hanya ditampilkan di konsol Google Cloud
  5. Klik Buat. Layar yang dibuat klien OAuth muncul, menunjukkan ID Klien dan Rahasia klien baru Anda
  6. Klik Oke. Kredensial yang baru dibuat muncul di bawah OAuth 2. 0 ID Klien
  7. Simpan file JSON yang diunduh sebagai credentials.json, dan pindahkan file ke direktori kerja Anda

Instal pustaka klien Google

  • Instal pustaka klien Google untuk Python

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Konfigurasi sampel

  1. Di direktori kerja Anda, buat file bernama quickstart.py
  2. Sertakan kode berikut di quickstart.py

    sheets/quickstart/quickstart. py

    Lihat di GitHub

    from __future__ import print_function
    
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ['//www.googleapis.com/auth/spreadsheets.readonly']
    
    # The ID and range of a sample spreadsheet.
    SAMPLE_SPREADSHEET_ID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms'
    SAMPLE_RANGE_NAME = 'Class Data!A2:E'
    
    
    def main[]:
        """Shows basic usage of the Sheets API.
        Prints values from a sample spreadsheet.
        """
        creds = None
        # The file token.json stores the user's access and refresh tokens, and is
        # created automatically when the authorization flow completes for the first
        # time.
        if os.path.exists['token.json']:
            creds = Credentials.from_authorized_user_file['token.json', SCOPES]
        # If there are no [valid] credentials available, let the user log in.
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh[Request[]]
            else:
                flow = InstalledAppFlow.from_client_secrets_file[
                    'credentials.json', SCOPES]
                creds = flow.run_local_server[port=0]
            # Save the credentials for the next run
            with open['token.json', 'w'] as token:
                token.write[creds.to_json[]]
    
        try:
            service = build['sheets', 'v4', credentials=creds]
    
            # Call the Sheets API
            sheet = service.spreadsheets[]
            result = sheet.values[].get[spreadsheetId=SAMPLE_SPREADSHEET_ID,
                                        range=SAMPLE_RANGE_NAME].execute[]
            values = result.get['values', []]
    
            if not values:
                print['No data found.']
                return
    
            print['Name, Major:']
            for row in values:
                # Print columns A and E, which correspond to indices 0 and 4.
                print['%s, %s' % [row[0], row[4]]]
        except HttpError as err:
            print[err]
    
    
    if __name__ == '__main__':
        main[]

Jalankan sampel

  1. Di direktori kerja Anda, buat dan jalankan sampel

    python3 quickstart.py
    
  2. Pertama kali Anda menjalankan sampel, Anda diminta untuk mengotorisasi akses

    1. Jika Anda belum masuk ke Akun Google, Anda akan diminta untuk masuk. Jika Anda masuk ke beberapa akun, pilih satu akun yang akan digunakan untuk otorisasi
    2. Klik Terima

    Informasi otorisasi disimpan dalam sistem file, jadi saat berikutnya Anda menjalankan kode sampel, Anda tidak dimintai otorisasi

Anda telah berhasil membuat aplikasi Python pertama yang membuat permintaan ke Google Sheets API

Bisakah Python membaca Lembar Google?

Kami telah berhasil Membaca Data dari Google Spreadsheet menggunakan Python . Untuk membuat GUI proyek kami menggunakan Modul Tkinter. Dan kami telah melakukan sedikit pengaturan dan menggunakan pustaka oauth2, kami telah membuat koneksi dengan lembar google. Dengan cara ini sekarang kita tahu cara membaca data dari google sheet menggunakan Python.

Bagaimana cara menarik data dari Google Sheets dengan Python?

Menggunakan gspread + akun layanan dari Google Cloud Developer Console untuk membaca dan menulis ke Google Spreadsheet yang dapat diakses .
Aktifkan Google Drive API dan Google Sheets API di bawah API dan Layanan
Buat akun layanan baru dan catat email akun layanan tersebut
Buat kunci kredensial dan ekspor kunci sebagai JSON

Bagaimana cara membaca Google Sheet di Python Pandas?

Berikut panduan singkat tentang cara melakukannya. .
Instal paket. Pertama, buka notebook Jupyter dan instal paket GSPread Python dengan memasukkan. .
Autentikasi dengan Google Spreadsheet. .
Buka Lembar Google dengan Python. .
Pilih lembar kerja tertentu. .
Satukan semuanya

Bisakah Python berinteraksi dengan Google Sheets?

Motivasi menggunakan Python untuk menulis ke Google Sheets

Bài mới nhất

Chủ Đề