亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
目次
Google Cloudプロジェクトの設(shè)定
Googleクラウドプロジェクトの作成と構(gòu)成
API資格情報の生成と保護
Googleシートへのアクセスを許可します
GSPREADを理解する
セル?yún)⒄栅碎vする簡単なメモ
接続と開くスプレッドシートの確立
Googleシートの作成と管理
ワークシートの管理
ワークシートの選択
新しいワークシートを作成します
ワークシートの改名
ワークシートの削除
細胞特性
新しい行と列の追加
特定の位置での挿入
テーブル範(fàn)囲の後の挿入
セルと範(fàn)囲の値を取得します
単一のセルを取得します
ワークシートまたは範(fàn)囲のすべてのセルを取得します
セルの範(fàn)囲の値を取得します
行または列からすべての値を取得します
ワークシート値全體を取得します
セルと範(fàn)囲の更新
単一のセルの更新
さまざまなセルの更新
複數(shù)の範(fàn)囲のセルを更新します
行と列の削除
セルの検索
セルのフォーマット
セルとワークシートのクリア範(fàn)囲
Google APIの制限
結(jié)論
キーテイクアウト
よくある質(zhì)問
ホームページ テクノロジー周辺機器 AI Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

Apr 13, 2025 am 10:01 AM

Googleシートは、Excelに最も人気があり広く使用されている代替品の1つであり、リアルタイムの編集、バージョンコントロール、Googleスイートとのシームレスな統(tǒng)合などの機能を備えた共同環(huán)境を提供し、GoogleドキュメントでGoogleシートを呼び出し、Googleワークスペースを最大限に活用できます。主要なデータサイエンスライブラリであるPandasを使用して、プログラムでExcelファイルを簡単に読み込んで動作させることができますが、Googleシートで同様のセットアップを複製できます。 SaaSの提供として、Googleシートデータへのアクセスには、Java、JavaScript、Node.js、PHP、Ruby、 Python 、Google獨自のAppScriptなどのさまざまなプログラミング言語をサポートするAPIを使用する必要があります。この記事では、Pythonを使用してGoogleシートデータをPandasデータフレームに効率的にロードし、迅速なデータ変換と分析を可能にすることに焦點を當(dāng)てています。変更が完了すると、GSPREAD Pythonライブラリを使用して、更新されたデータをGoogleシートに戻し、Google Sheets APIと対話するための便利なインターフェイスを提供できます。

この記事は、データサイエンスブログソンの一部として公開されました

目次

  • Google Cloudプロジェクトの設(shè)定
  • GSPREADを理解する
  • 接続と開くスプレッドシートの確立
  • Googleシートの作成と管理
  • ワークシートの管理
  • 細胞特性
  • 新しい行と列の追加
  • セルと範(fàn)囲の値を取得します
  • セルと範(fàn)囲の更新
  • 行と列の削除
  • セルの検索
  • セルのフォーマット
  • セルとワークシートのクリア範(fàn)囲
  • Google APIの制限
  • よくある質(zhì)問

Google Cloudプロジェクトの設(shè)定

前述のように、GoogleシートはSaaSの提供であるため、自動化のための追加の手順を準(zhǔn)備する必要があります。人気のあるクラウドコンピューティングプラットフォームであるGoogle Cloud Platform(GCP)は、カスタムプロジェクトの展開とともにGoogle製品と対話するのに役立つさまざまなサービスを提供しています。

概して、Googleシートの自動化を始めるには、これらの3つのステップに従う必要があります。

Googleクラウドプロジェクトの作成と構(gòu)成

https://console.cloud.google.com/にアクセスして、無料アカウントにサインアップしてください。左上から次に、プロジェクト選択メニューをクリックして、新しいプロジェクトを選択します。プロジェクト名を提供し、組織を「組織なし」として殘し、Createをヒットし、GCPプロジェクトが設(shè)定されています。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

API資格情報の生成と保護

GoogleシートとGoogleドライブAPIを有効にし、サービスアカウントを作成する必要があります。この特別なタイプのアカウントを使用すると、人間の相互作用を必要とせずにGoogleクラウドリソースにアクセスして管理できます。 GoogleシートAPIを有効にするには、上部の検索バーでシートを検索し、「Google Sheets API」を選択します。 [許可]をクリックすると、API詳細ページにリダイレクトされます。ここで、「資格情報の作成」をクリックすると、資格情報の作成フォームが開きます。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

選択ボックスから[アプリケーションデータ]を選択し、[次へ]をクリックします。次の畫面で、サービスアカウントに意味のある名前を提供します。後の手順で使用します。次に、「編集者」の役割を選択します。最後に、下部で[完了]をクリックします。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

同様に、GoogleドライブAPIを有効にすることができます。このAPIの別のサービスアカウントを作成する必要はないことに注意してください。既存のサービスアカウントは、両方のAPIにアクセスできます。次に、PythonスクリプトがGoogleシートにアクセスするために消費する資格情報JSONをダウンロードする必要があります。新しく生成されたサービスアカウントのメールをクリックし、[キー]タブに切り替え、[キーの追加]ボタンをクリックして[新しいキーオプションの作成]を選択し、JSONを選択してから作成します。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

Googleシートへのアクセスを許可します

Pythonスクリプトは、生成された資格情報を使用してGoogleシートにアクセスします。ただし、スクリプトが使用するファイルへのアクセスを手動で付與する必要があります。これを行うには、サービスアカウントに生成された電子メール(サービスアカウントの詳細タブにあります)をコピーし、そのメールをエディターとして目的のファイルに追加します。

GSPREADを理解する

GSPREADは、Googleシート用のPython APIラッパーです。 Google Sheetsapiが別々のクラスとアクセス方法で提供する多くの機能をカプセル化します。 Sheetsapiとの相互作用が簡単に移動し、すぐに拾うことができます。

ローカル環(huán)境にライブラリをセットアップするには、他のPythonパッケージと同様に、シンプルなPIPコマンドを使用できます。依存関係の競合を回避するために、ベストプラクティスとして別の環(huán)境にライブラリをインストールします。

 PIPインストールGSPREAD

セル?yún)⒄栅碎vする簡単なメモ

Googleシートのセルアドレスは、2つの一般的な表記を使用して參照できます。

  • A1表記:このセルの參照は、シート名、行番號、列文字で構(gòu)成されています。この參照は、シート名に言及せずに機能し、単一のセル、さまざまなセル、または列全體を參照できます。
  • 名前付き範(fàn)囲:これは、Googleシート全體で簡単に識別され、簡素化された參照のためのカスタム名を持つセルの定義された範(fàn)囲です。

接続と開くスプレッドシートの確立

必要なアクセスとライブラリをセットアップしたので、コードをテストしましょう。サービスアカウントのメールを含むスプレッドシートに、最初のセルにランダムなテキストを入力します。 Pythonスクリプトを使用してこの値を取得しようとします。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

JSONモジュールを使用して資格情報をロードし、GSPREADの「service_account_from_dict()」関數(shù)に渡します。これにより、Google Sheetsクライアントオブジェクトが返され、このオブジェクトを使用して「Open()」関數(shù)を使用してGoogleシートを開くことができます。以下のコードを參照してください。

 gspreadをインポートします
JSONをインポートします

f:open( 'creds.json')として:
    資格情報= json.load(f)

gc = gspread.service_account_from_dict(資格情報)

sh = gc.open( "articleledemo")

タイトル名の代わりにGoogleシートを開く方法は2つあります。これらの代替方法は、Google Workspaceのようにタイトル名の依存関係を排除します。複數(shù)のファイルに同じタイトルを持つことができます。スプレッドシートの場合、同じタイトルを持つ2つのファイルがある場合、最新のファイルにAPIがアクセスします。ファイルURLまたはスプレッドシートの一意のIDを使用してスプレッドシートにアクセスできます。次のリンク「https://docs.google.com/spreadsheets/d//edit」です。以下は、URLまたは一意のIDを介してスプレッドシートにアクセスするコードです。

 ##一意のID経由のアクセス
sh = gc.open_by_key( "1r97twcm0fffnssrh_0fjddg-hcqf5plhbhrxu9ptv_q")


## url経由のアクセス
sh = gc.open_by_url( "https://docs.google.com/spreadsheets/d/1r97twcm0fffnssrh_0fjddg-hcqf5plhbhrxu9ptv_q/edit?gid = 0#gid = 0")

次のコードでは、シートに入力された値を読み取ります。動作するコードについては、記事の後半のセクションで説明します。

 print(sh.sheet1.acell( 'a1')。値)

これにより、シート內(nèi)のA1セルに存在する値が返されます。これは、「GSHEET:これが最初のセル」です?,F(xiàn)在、私たちは皆、GSPREADライブラリに深く掘り下げ、利用可能なすべてのオプションを探索する予定です。

注: shvariableはスプレッドシートオブジェクトを保持し、ガイド全體に參照されます

Googleシートの作成と管理

スプレッドシートがプログラムで作成される多くのユースケースがある可能性があります。ユーザーにデータと洞察を公開するソリューションを構(gòu)築することです。これに加えて、彼らはこのシートをユーザーと直接共有したいと思うかもしれません。

  • 新しいスプレッドシートを作成するには、GSPREADクライアントのcreate()関數(shù)を使用します。新しいスプレッドシートのタイトルをパラメーターとして渡し、場所を指定する場合は、Folder_IDパラメーターを使用します。
  • 作成された新しいスプレッドシートは、サービスアカウントユーザーがのみアクセスできます。これは、サービスアカウントを作成したユーザーにもスプレッドシートが表示されないことを意味します。この目的のために、スプレッドシートオブジェクトの「share()」関數(shù)を使用できます。この関數(shù)には、3つの必須パラメーターが必要です:「email_address」(電子メールアドレス)、「perm_type」(許可タイプ)、および「役割」。許可タイプは、ユーザー、グループ、ドメイン、または誰でも次の値をとることができます。ほとんどのユースケースでは、ユーザー値が機能します。 Perm_typeには、「読者」、「コメンター」、「ライター」、「FileorGanizer」、「オーガナイザー」、および「所有者」の容認(rèn)可能な値が固定されています。追加のオプションのパラメーターもいくつかあり、詳細なレベルの情報を提供します。
    • 「Notify」:ユーザーが共有されたファイルの通知を取得するかどうかを制御するためのブール値。
    • 「email_message」:通知メールとともに送信されるメッセージの文字列値。
 sh = gc.create( 'articledemotest')##新しいスプレッドシートの作成
sh.share(email_address = '[email protected]'、perm_type = 'user'、role = 'writer'、notify = true、email_message = "これはテストファイルです")

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

ワークシートの管理

すべてのスプレッドシートは、ワークシートのコレクションです。これとの簡単な類推は、本に複數(shù)のページがある方法です。 GSPREADを使用して、ユーザーは新しいワークシートにアクセス、変更、削除、または作成できます。これらの各機能を見てみましょう。

ワークシートの選択

スプレッドシートオブジェクトのワークシートには、ワークシートオブジェクトの次の方法を使用してアクセスできます。

  • インデックスによるアクセス: 「get_worksheet()」関數(shù)は、アクセスする必要があるワークシートのインデックスを取り入れます。
  • タイトル別のアクセス: 「worksheet()」関數(shù)は、ワークシートのタイトルを取り入れます。ワークシートのタイトルは本質(zhì)的にユニークであるため、2つのワークシートが同じタイトルを持つことはできないことに注意してください。
  • ドット表記によるアクセスショートカット:ドット表記ショートカットでは、タイトル、インデックス、またはIDを提供せずに、スプレッドシートの最初のワークシートにアクセスできます。
  • すべてのアクセス: 「ワークシート()」関數(shù)は、スプレッドシートのすべてのワークシートを返します。 GSPREADワークシートオブジェクトとしてそれらを返します。 「タイトル」と「ID」は、このクラスのいくつかの重要なプロパティであり、目的のワークシートにかなりの方法でアクセスするのに役立ちます。
  • IDによるアクセス:自動化スクリプトの開発中、タイトルの代わりにワークシートIDを扱っているユースケースがいくつかある可能性があります。このようなシナリオでは、「get_worksheet_by_id()」関數(shù)を使用できます。

リストされているすべてのメソッドのサンプルコードは次のとおりです。

印刷(sh.get_worksheet(0))
print(sh.worksheet( "articleworksheet1"))
print(sh.sheet1)
印刷(sh.get_worksheet_by_id(0))

print( "すべてのシートを取得するようになりました...")

##すべてのワークシートを返します
sh.worksheets()のwsの場合:
    印刷(WS)

これらの印刷ステートメントはすべて、ワークシートオブジェクトを返します

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

新しいワークシートを作成します

スプレッドシート內(nèi)の既存のワークシートとは別に、同じスプレッドシートに新しいワークシートをプログラム的に作成できます。このアプローチは、既存のワークシートからデータを処理し、結(jié)果を別のワークシートに公開する場合に役立ちます。

新しいワークシートを作成するには、ワークシートオブジェクトの「add_worksheet()」関數(shù)を使用する必要があります。次のパラメーターが必要です。

  • タイトル:ワークシートのタイトル
  • 行、列、インデックス(オプション):新しく作成されたワークシートの行と列の數(shù)を定義する必要があります。 「インデックス」パラメーターはオプションであり、ワークシートの順序を制御します。

以下のコードは、100行と20列のワークシートを作成し、ワークシートを2番目の位置に配置します。

 sh.add_worksheet( 'articleworksheet1.5'、rows = 100、cols = 20、index = 1)

そして、それはそれを2番目の位置に配置しました(インデックス1)

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

ワークシートの改名

新しいタイトルをパラメーターとして受け入れるワークシートオブジェクトのupdate_title()関數(shù)を使用して、ワークシートタイトルの名前を変更できます。

 print(sh.worksheet( "articleworksheet3")。update_title( "articleworksheet2.5"))

ワークシートの削除

ワークシートオブジェクトの次の関數(shù)を使用して、スプレッドシートからワークシートを削除できます。

  • ワークシートオブジェクトを使用してワークシートを削除します。 「del_worksheet()」関數(shù)は、ワークシートオブジェクトをパラメーターとして使用し、スプレッドシートからワークシートを削除します。
  • ワークシートIDを使用してワークシートを削除します: 「del_worksheet_by_id()」関數(shù)は、ワークシートIDをワークシートを削除するための入力として取得します。

使用する機能の選択は、スクリプトが作成されるユースケースに依存します。以下は、両方の関數(shù)の使用を示すコードサンプルです。

 sh.del_worksheet(sh.worksheet( "articleworksheet2.5"))
sh.del_worksheet_by_id( '602396579')

細胞特性

私たちはゆっくりと上から下に狹まり、ワークシートのセルの最?。à饯筏谱瞍庵匾剩━妤衰氓趣说竭_しています。セルは、行と列の交差點です。 GSPREADライブラリの場合、次のプロパティを保持しています。

  • 行:セルの行番號
  • COL:セルの列番號
  • 値:セルの値
  • アドレス: A1表記のセルのアドレス

以下のサンプルコードは、セルのすべてのプロパティにアクセスします。検査用の特定のセルは、ワークシートのセル関數(shù)を使用して返されます。

 samplecell = sh.worksheet( "articleworksheet1")。セル(row = 1、col = 1)
print( 'row:{} \ ncolumn:{} \ nvalue:{} \ naddress:{}'。形式(samplecell.row、samplecell.col、samplecell.value、samplecell.address)))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

ライブラリの高次機能を扱うと、これらのすべてのアクセサーが作用します。

新しい行と列の追加

既存のサンプルワークシートに新しい行と列を追加して、このガイドの後半のセクションに取り組むデータを用意してみましょう。操作としての挿入は、GSPREADライブラリによって2つの方法でサポートされています。

特定の位置での挿入

ワークシートオブジェクトのINSERT_ROW()、INSERT_ROWS()、およびINSERT_COLS()関數(shù)を使用して、特定の位置に行または列を挿入できます。これらの機能により、ワークシートの特定の場所に行または列を追加できます。関數(shù)の詳細は以下のとおりです。

  • INSERT_ROW:関數(shù)には、挿入する値のリストとして「値」パラメーターが必要です。リスト內(nèi)の値の順序は、挿入された行の順序を決定します。デフォルトの「インデックス」パラメーターは、行挿入の位置を指定します。 「value_input_option」や「enternit_from_before」などのオプションのパラメーターは、関數(shù)が入力データと行をどのように解釈するか、およびユーザーがUIでタイピングしているかのようにデータを直接プッシュするか、解析する必要があるかどうかを制御します。
  • INSERT_ROWS:複數(shù)の行を挿入するための「値」パラメーターのリストのリストを取得します。各リストは単一の行として機能します。內(nèi)部的には、これはGSPREADを介して行がワークシートに挿入される方法の実際の実裝です。 「insert_row()」関數(shù)は「insert_rows()」関數(shù)を呼び出すため、1つのパラメーターを除く「insert_rows()」に「insert_row()」に記載されているすべてのパラメーターが當(dāng)てはまります。 INSERT_ROW()関數(shù)では、インデックスパラメーターを使用してオフセットを決定し、insert_Rows()関數(shù)では、行パラメーターで指定します。
  • INSERT_COLS:この関數(shù)は、「row」から「col」へのオフセットのパラメーター名が変更された「insert_rows()」関數(shù)のレプリカです。オプションのパラメーター機能の殘りの部分は同じままです。

テーブル範(fàn)囲の後の挿入

この挿入は、行にのみ適用されます。特定のテーブル範(fàn)囲の後に行を挿入することができます。ここでは、位置が不明です。繰り返しますが、挿入は単一またはマルチローウの方法で実行できます。

  • append_row:「値」パラメーターを介して行の値として行の値を取得します。 「table_range」パラメーターは、行の挿入が発生する後、テーブル範(fàn)囲を定義するのに役立ちます。範(fàn)囲はA1表記で與えられます。
  • append_rows:同様に「insert_rows()」、「append_rows()」は、テーブル範(fàn)囲後の行挿入の実際の実裝です。両方の関數(shù)のすべてのパラメーターは、「append_rows()」が「値」パラメーターのリストのリストを取得するという違いと同じままです。

これがサンプルコードです:

  • 列の行を追加します:a、b、c、およびd
  • これらの列の下に4行を追加します
sampleworksheet.insert_row(
    ['a'、 'b'、 'c'、 'd']
))
sampleworksheet.insert_rows(
    [
        ['kg'、54、23、12]、
        ['og'、34、12、34]、
        ['me'、23、45、90]、
        ['ye'、65、12、54]
    ]、row = 2
))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

それでは、これに加えて次の手順を?qū)g行しましょう。

  • このテーブル範(fàn)囲で続行するために2行を追加します
  • 別の列を追加しますe
 sampleworksheet.append_rows(
    [
        ['Sn'、67、87、45]、
        ['ar'、56、23、65]
    ]、、
    table_range = "a1:d5"
))
sampleworksheet.insert_cols(
    [
        ['e'、56、34、65、34、76、45]
    ]、、
    col = 5
))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

注: sampleworksheet変數(shù)はワークシートオブジェクトを保持し、ガイド全體で參照されます。

セルと範(fàn)囲の値を取得します

最後のセクションでは、さまざまな挿入操作を使用してプログラムでデータを準(zhǔn)備しました。これで、さまざまな読み取り関數(shù)を使用して挿入されたデータを取得できます。セルを取得する方法を確認(rèn)し、さまざまなセルとワークシート全體から値を取得するために移動します。

単一のセルを取得します

ワークシートで最も基本的な読み取り操作には、前のセクションで説明されているように、値またはその他のセルプロパティを取得することが含まれます。単一のセルを取得するには、2つの機能があります。

  • ACELL:これにより、A1表記のセルアドレスが取得され、セルオブジェクトが返されます。
  • セル:これにより、セル座標(biāo)は(行、列)の順序で取得されます。

これらの関數(shù)は両方ともセルオブジェクトを返し、これらのオブジェクトから値を取得する方法をすでに見ています。 Acell関數(shù)は、GoogleシートAPIとの接続を確立したセクションで使用されました。

 print(sampleworksheet.acell( 'a1')。行)
print(sampleworksheet.cell(1、1).value)

ワークシートまたは範(fàn)囲のすべてのセルを取得します

  • ワークシートオブジェクトの「get_all_cells()」関數(shù)を使用して、セルオブジェクトのリストにワークシートのすべてのセルを取得できます。この関數(shù)にはパラメーターがなく、ワークシートオブジェクトで直接呼び出すことができます。
  • 特定の範(fàn)囲のセルオブジェクトを取得するには、ワークシートオブジェクトの範(fàn)囲()関數(shù)を使用します。この関數(shù)は、A1表記、數(shù)値境界、または名前の範(fàn)囲など、さまざまな入力フォームを受け入れます。入力なしで使用すると、ワークシート內(nèi)のすべてのセルを1回のAPI呼び出しで返します。細胞特性を含むユースケースの場合、この関數(shù)は、目的の細胞を除外し、さらなるアクションを?qū)g行するのに役立ちます。
 print(sampleworksheet.get_all_cells())
print(sampleworksheet.range( 'b4:e5'))

セルの範(fàn)囲の値を取得します

ユーザーは通常、同じワークシートに複數(shù)のミニチュアテーブルを作成して、より良いアクセシビリティを?qū)g現(xiàn)します。そのような場合、これらのテーブル範(fàn)囲の正確なアドレスまでフェッチ範(fàn)囲を改良する必要があります。このようなテーブル範(fàn)囲を取得するには、ワークシートオブジェクトの次の2つの関數(shù)を使用できます。

  • get: 「get()」関數(shù)は、A1表記または名前の範(fàn)囲でテーブル範(fàn)囲を取り、値のリストのリストを返します。
  • batch_get: 「get()」関數(shù)は1つの範(fàn)囲のみを取ることができますが、複數(shù)の範(fàn)囲を扱っている場合は、batch_getを使用できます。この関數(shù)は1つのAPI呼び出しを行い、コストを削減します。
 print( 'get range:{}'。形式(sampleworksheet.get( "a1:d4")))))
print( 'batch get range:{}'。形式(sampleworksheet.batch_get([))
    「A1:D4」、
    「B4:E3」
])))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

行または列からすべての値を取得します

ワークシートオブジェクトの「row_values()」および「col_values()」関數(shù)を使用して、行または列のすべての値を取得できます。両方の関數(shù)は、行または列の位置(1から番號)を取得し、リスト內(nèi)の値を返します。

 print(sampleworksheet.row_values(1))
print(sampleworksheet.col_values(4))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

ワークシート値全體を取得します

ワークシート全體を取得する最良のユースケースの1つは、このデータをPandasデータフレームに直接ロードし、要件に従って後処理または分析を?qū)g行することです。データ全體は、ワークシートオブジェクトの次の関數(shù)を使用して返すことができます。

  • リストのリスト: 「get_all_values()」関數(shù)は、すべての行をリストとして返し、すべての行リストを1つのリストに表示します。この関數(shù)は「get_values()」関數(shù)のエイリアスですが、興味深いことに、「get_values()」関數(shù)は「get()」関數(shù)を使用して実裝されます。入力なしの「get()」関數(shù)は、リストのリストを返します。したがって、3つの関數(shù)はすべて同じです。
  • 辭書のリスト: 「get_all_records()」関數(shù)は辭書のリストを返します。各辭書は、キーが最初の列値であり、次の列値として値であるキー価値マッピングです。すべての行に辭書があります。デフォルトでは、最初の行がキーであると想定していますが、「ヘッダー」パラメーターを使用してキーとして異なる行を認(rèn)識させることができます。空のセルや予想されるヘッダーの処理に役立ついくつかの追加のパラメーターもあります。

両方の機能の出力をPandas DataFrame関數(shù)に直接渡して、Pandasデータフレームとしてワークシートテーブルを取得できます。

 PDとしてパンダをインポートします
print(pd.dataframe(sampleworksheet.get_all_records())))
print(pd.dataframe(sampleworksheet.get_all_values())))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

セルと範(fàn)囲の更新

スプレッドシートの既存のデータを更新することは、GSPREADライブラリ関數(shù)を使用して簡単に実行できる最も重要な関數(shù)です。スプレッドシートのセルを更新し、単一のセルの更新を範(fàn)囲の複數(shù)のセルに更新し、単一のAPI呼び出しで複數(shù)の範(fàn)囲に更新する方法があります。

単一のセルの更新

ワークシートの単一のセルは、ワークシートオブジェクトの次の機能を使用して更新できます。

  • update_acell:この関數(shù)は、A1表記のセルアドレスと更新される値の2つのパラメーターを取得します
  • update_cell:この関數(shù)は、行の順序でセルの座標(biāo)と更新の値を取ります
  • 更新:この関數(shù)には複數(shù)のセルを更新するための範(fàn)囲が大きくなりますが、単一のセルの更新にも使用できます。入力パラメーターの順序は、上記の2つの関數(shù)とは異なります。 「update()」関數(shù)は、最初の値としてリストのリストを採用し、次にセルアドレスを採用します。
 print(sampleworksheet.update_acell( 'a2'、 'kaustubh'))
print(sampleworksheet.update_acell( 'a3'、 'oggy'))
print(sampleworksheet.update(['hello']]、 'a4'))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

さまざまなセルの更新

ワークシートオブジェクトから次の2つの機能を使用して、ワークシートのさまざまなセルを更新できます。

  • update_cells:この関數(shù)は、「range()」関數(shù)と組み合わせて最適に機能します。 「update_cells()」関數(shù)は、セルのリストとして入力されます。このセルのリストは、範(fàn)囲関數(shù)から返され、バリュープロパティにアクセスするセルオブジェクトをループすることにより、値を変更することができます。
  • 更新:以前にシングルセルアップデートで見られたように、この関數(shù)を使用して、名前付き範(fàn)囲またはA1-ノートの範(fàn)囲を更新できます。
 rangeofcells = sampleworksheet.range( 'b2:b7')
rangeofcellsのセルの場合:
    newValue = int(cell.Value)10
    cell.value = newValue
print(sampleworksheet.update_cells(rangeofcells))

上記のコードは、さまざまなセルを取得し、値に10を追加し、1回のAPI呼び出しでそれらを更新します。

複數(shù)の範(fàn)囲のセルを更新します

上記のセクションでは、単一のAPI呼び出しで複數(shù)のセルを範(fàn)囲內(nèi)で更新することができました。この動作は、複數(shù)の範(fàn)囲にも拡張できます。つまり、1回の呼び出しで複數(shù)のセルグループを更新できることを意味します。 「batch_update()」関數(shù)は、範(fàn)囲と値としてキーを持つ辭書のリストを取得します。範(fàn)囲のキー値は、A1表記範(fàn)囲または名前付き範(fàn)囲と、値のリストのリストとしての値キー値である必要があります。

 range1 = 'c2:c7'
range2 = 'e2:e7'
bothrangevalues = sampleworksheet.batch_get([[
    範(fàn)囲1、
    範(fàn)囲2
]))
range1values、range2values = bothrangevalues
rience1updatedValues = [[int(x [0])10] range1valuesのxの場合]
range2updatedValues = [[int(x [0])20] range2valuesのxの場合]
print(sampleworksheet.batch_update([)
    {
        「範(fàn)囲」:range1、
        「値」:range1UpdatedValues
    }、

    {
        「範(fàn)囲」:範(fàn)囲2、
        「値」:range2UpdatedValues
    }
])))

上記のコードは、「batch_get()」関數(shù)を使用して2つの範(fàn)囲を取得し、局所的に値を更新し、「batch_update()」関數(shù)を使用して更新された値をGoogleシートに押し戻します。このアップデートの出力は次のようになります:

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

行と列の削除

この時點まで、ワークシートのデータを挿入、読み取り、更新しました。削除操作を?qū)g行して、ワークシートから冗長または不要なデータを削除できます。 「delete_rows()」と「delete_colums()」関數(shù)は、「start_index」を削除する必要があります。 「end_index」が指定されている場合、開始と終了のインデックス範(fàn)囲のすべての列を削除します。

 print(sampleworksheet.delete_columns(4))
print(sampleworksheet.delete_rows(6))

セルの検索

GoogleシートAPIを使用すると、文字列または正規(guī)表現(xiàn)を一致させてセルを検索できます。癥例に敏感またはケースに依存しない検索を?qū)g行し、必要に応じて検索を特定の行または列に絞り込むことができます。これらの2つのワークシート関數(shù)を使用して、一致するセルを見つけます。

  • find: 「find()」関數(shù)は、試合の最初の発生を返します。これにより、検索文字列または正規(guī)表現(xiàn)、「in_row」または「in_column」パラメーターが検索と「case_sensitive」フラグを絞り込み、検索タイプを制御します。 「in」パラメーターは行または列の位置を取ります(インデックス1)
  • findall: 「findall()」は、検索のすべての一致を返す「find()」関數(shù)の高度な段階です。
 Reをインポートします
print(sampleworksheet.find('64 '、in_column = 2))
searchre = re.compile(r '(a | a)')
print(sampleworksheet.findall(searchre))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

セルのフォーマット

Excelでは、テキストのハイライト、フォーマット、境界、アライメント、多數(shù)の機能など、さまざまな方法でワークシートをフォーマットできます。 Googleシートには、セルのさまざまなフォーマットオプションも提供しています。フィールドのリスト全體は、Googleシートセルのドキュメントで入手できます。

GSPREADワークシートオブジェクトのFormat()関數(shù)を使用して、フォーマットを適用するセルまたは範(fàn)囲を指定できます。すべてのフォーマットキーフィールドとその値を含むJSON辭書として形式を提供します。

以下のコードは、テーブルのすべてのセルに境界線を適用します。

 borderformatting = {
    「スタイル」:「ソリッド」、
    「colorStyle」:{"rgbcolor":{"red":0、 "緑":0、blue ":0、" alpha ":1}}、
}

印刷(
    sampleworksheet.format(
        「A1:D6」、
        format = {
            「國境」:{
                「トップ」:國境警備隊、
                「ボトム」:國境警備隊、
                「左」:境界線形、
                「正しい」:國境警備隊、
            }、
        }、
    ))
))

また、バッチフォーマットを適用して、複數(shù)の範(fàn)囲を同時にフォーマットすることもできます。これにより、新しい変更ごとに異なる形式の呼び出しを書くのに大幅な時間を節(jié)約できます。 「batch_format()」関數(shù)は、2つの重要なキーを含む辭書のリストを取得します。最初のキーは、セルのスコープを定義する範(fàn)囲キーと、フォーマット辭書を含むフォーマットキーです。

「batch_format()」機能を使用して、サンプルテーブルで以下を?qū)g行しましょう。

  • テーブルのすべてのセルに境界を塗ります。
  • 最初の行のテキストを大膽に、それらが私たちのテーブルの列であることを示します。
  • 中央のすべてのデータを調(diào)整します。
  • 列に明るい青色の色を追加します(最初の行)。
 borderformatting = {
    「スタイル」:「ソリッド」、
    「colorStyle」:{"rgbcolor":{"red":0、 "緑":0、blue ":0、" alpha ":1}}、
}
フォーマット= [
    {
        「範(fàn)囲」:「a1:d6」、
        「フォーマット」:{
            「國境」:{
                「トップ」:國境警備隊、
                「ボトム」:國境警備隊、
                「左」:境界線形、
                「正しい」:國境警備隊、
            }、
            「Horizo??ntalAlignment」:「Center」、
        }、
    }、
    {
        「範(fàn)囲」:「a1:d1」、
        「フォーマット」:{
            「TextFormat」:{
                「太字」:本當(dāng)、
            }、
            「BackgroundColorStyle」:{
                「rgbcolor」:{"red":0.8、 "green":0.8、 "blue":1、 "alpha":0.8}
            }、
        }、
    }、
]

print(sampleworksheet.batch_format(formats))

そして、これが私たちのテーブルの最終的な狀態(tài)です。

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

セルとワークシートのクリア範(fàn)囲

運用を?qū)g行する前に範(fàn)囲をクリアしたい可能性があります。セルの範(fàn)囲をクリアするために、ワークシートオブジェクトの「batch_clear()」関數(shù)を使用します。これには、クリアする必要がある範(fàn)囲のリストが表示されます。サンプルテーブルから列Cをクリアしましょう。

 print(sampleworksheet.batch_clear(["c1:c6"]))

Pythonを使用したGoogleシートオートメーション| Analytics Vidhya

注:クリア関數(shù)は、適用されたフォーマットではなく、値をクリアします。

ワークシート全體のワークシートを使用して、ワークシートオブジェクトの「クリア()」関數(shù)を使用してクリアできます。

 print(sampleworksheet.clear())

Pythonを使用してGoogleシートを自動化する方法についてのこの記事をチェックアウト

Google APIの制限

GSPREADライブラリを使用して、Googleシートで多くの操作を行っています。このライブラリは、ユーザーパスデータを許容できる形式に準(zhǔn)備し、シートに関連付けられたGoogleプロジェクトにAPI呼び出しを作成するラッパーです。開発者が基礎(chǔ)となるAPI呼び出し、ペイロード、および回答を理解する必要がないように機能します。開発者は、抽象化された関數(shù)とのみ対話します。

  • APIクォータの消費の理解:開発者は、特に生産および重要なタスクのために、API呼び出しがクォータを消費する方法を理解する必要があります。
  • 無料で制限された使用法:Google Sheets APIは無料ですが、作成できるAPI呼び出しの數(shù)に制限があります。
  • 共通エラー - 429(「リクエストが多すぎる」) :APIコール制限を超えるため、多くのユーザーが429エラーに遭遇します。
  • クォータの制限例:現(xiàn)在のクォータは、プロジェクトごとに1分あたり300のリクエストを許可します。
  • クォータを超える:スクリプトが300を超えるリクエストを送信する場合、追加のリクエストは処理されません。
  • 指數(shù)バックオフソリューション:ランダムな待機時間を使用する指數(shù)バックオフのような再試行メカニズムは、これらの制限を管理するのに役立ちます。

結(jié)論

このガイドでは、Google Sheets UIで実行されるすべての操作を?qū)g行するためにGoogleサービスアカウントを作成しました。データの追加、更新、削除など、多くの機能を調(diào)査しました。また、Pythonを使用してシートとGoogleシートの自動化のフォーマット方法についても検討しました。

Google Sheets APIは、セルのマージ、保護された範(fàn)囲の作成、セルの隠し、メモの追加、コピー範(fàn)囲、さらにはすべての操作をプログラム的に追加するなど、より多くの機能を提供します。 GSPREADライブラリのドキュメントにはこれらの説明がありませんが、Google Sheetsの公式ドキュメントを検討し、GSPREADドキュメントのAPIリファレンスセクションを確認(rèn)することもできます。

キーテイクアウト

  • Google Sheets Automationには、Google Cloudプロジェクトをセットアップする必要がありますが、これには費用がかかりません。ただし、コードを最適化しない場合は、クォータを使い果たし、コードの後半でエラーにつながる可能性があります??赡埭氏蓼辚啸氓灵v數(shù)を使用することを目指します。
  • Google Sheets APIを使用して達成できることには多くの可能性があり、GSPREADライブラリは出発點に過ぎません。ライブラリに欠落している機能を?qū)g裝するために、公式の文書を検討する必要があります(そしておそらく貢獻するかもしれません)
  • Googleシートの自動化セットアップを使用して、マスターレコードを維持するソーシングパイプラインを構(gòu)築し、OLAPデータベースのようなより高度なデータベースにプッシュできます。これらのデータベースをTableauなどのBIソフトウェアに接続して、エンドツーエンドプロジェクトを完了します。
  • Googleシートの自動化は、データを自動的に更新、インポート、または整理するワークフローを設(shè)定し、効率を大幅に改善するワークフローを設(shè)定することにより、手動データ入力を排除するのに役立ちます。
  • Googleシートの自動化を使用して、レポートの送信、計算の実行、セルの更新などの繰り返しのタスクをスケジュールして、繰り返し手動アクションの必要性を減らすことができます。

よくある質(zhì)問

Q1。 「429:あまりにも多くのリクエスト」エラーを回避するために何ができますか?

A.しばらくの間、再びリクエストを行おうとする再試行メカニズムを?qū)g裝する必要があります。そのような例の1つは、指數(shù)バックオフアルゴリズムです

Q2.グーグルシートで自動化を行うことはできますか?

A.はい、マクロGoogleアプリスクリプト、 ZapierMake(以前のIntegromat)などのサードパーティツールなどの組み込み機能を使用して、Googleシートでタスクを自動化できます。これらを使用すると、データ入力、フォーマット、計算などの繰り返しタスクを自動化できます。

Q3。 Googleには自動化ツールがありますか?

A.はい、Googleは、Google Workspaceアプリ(シート、ドキュメント、Gmailなど)全體でタスクを自動化するためのJavaScriptベースのプラットフォームであるGoogle Apps Scriptを提供しています。 Additionally, tools like Google Cloud Workflows and Zapier integrations can be used for broader automation across Google services.

Q4。 How can I set up Google Sheets automations to save time on repetitive tasks?

A. You can set up Google Sheets automations using built-in tools like Macros and Google Apps Script. Macros allow you to record actions and replay them, while Google Apps Script lets you create custom automations using JavaScript. These automations can streamline repetitive tasks such as data entry, formatting, or running specific functions automatically in Google Sheets.

Q5。 What are some popular Google Sheets automations for data analysis?

A. Popular Google Sheets automations for data analysis include automated data import from external sources, scheduled reports using Google Apps Script, and conditional formatting to highlight trends. These automations help optimize the data analysis process, making Google Sheets a powerful tool for managing and interpreting large datasets efficiently.

以上がPythonを使用したGoogleシートオートメーション| Analytics Vidhyaの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AGIとAIのスーパーインテリジェンスは、人間の天井の仮定の障壁に急激に衝突するでしょう AGIとAIのスーパーインテリジェンスは、人間の天井の仮定の障壁に急激に衝突するでしょう Jul 04, 2025 am 11:10 AM

それについて話しましょう。 革新的なAIブレークスルーのこの分析は、さまざまなインパクトのあるAIの複雑さの特定と説明など、最新のAIで進行中のForbes列のカバレッジの一部です(こちらのリンクを參照)。 アギに向かっています

Kimi K2:最も強力なオープンソースエージェントモデル Kimi K2:最も強力なオープンソースエージェントモデル Jul 12, 2025 am 09:16 AM

今年初めにゲナイ産業(yè)を混亂させたオープンソースの中國モデルの洪水を覚えていますか? Deepseekはほとんどの見出しを取りましたが、Kimi K1.5はリストの著名な名前の1つでした。そして、モデルはとてもクールでした。

Grok 4 vs Claude 4:どちらが良いですか? Grok 4 vs Claude 4:どちらが良いですか? Jul 12, 2025 am 09:37 AM

2025年半ばまでに、AIの「武器競爭」は熱くなり、Xaiと人類は両方ともフラッグシップモデルであるGrok 4とClaude 4をリリースしました。これら2つのモデルは、設(shè)計哲學(xué)と展開プラットフォームの反対側(cè)にありますが、

人工知能がすべての人生の歩みをどのように助け、害することができるかについての詳細な議論 人工知能がすべての人生の歩みをどのように助け、害することができるかについての詳細な議論 Jul 04, 2025 am 11:11 AM

私たちは議論します:企業(yè)はAIの職務(wù)機能の委任、AIが産業(yè)と雇用をどのように形成するか、およびビジネスと労働者の働き方を委任します。

プレミアリーグはファンエクスペリエンスを向上させるためにAIプレーをします プレミアリーグはファンエクスペリエンスを向上させるためにAIプレーをします Jul 03, 2025 am 11:16 AM

7月1日、イングランドのトップフットボールリーグは、主要なハイテク企業(yè)との5年間のコラボレーションを明らかにして、簡単なハイライトリールよりもはるかに高度なものを作成しました。

今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット 今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット Jul 16, 2025 am 11:12 AM

しかし、おそらく1つを見るのに10年も待つ必要はありません。実際、本當(dāng)に有用で人間のような機械の最初の波と考えられるものは、すでにここにあります。 近年、多くのプロトタイプと生産モデルがTから抜け出しています

コンテキストエンジニアリングは' new'迅速なエンジニアリング コンテキストエンジニアリングは' new'迅速なエンジニアリング Jul 12, 2025 am 09:33 AM

前年まで、迅速なエンジニアリングは、大規(guī)模な言語モデル(LLMS)と対話するための重要なスキルと見なされていました。しかし、最近、LLMは推論と理解能力を大幅に進めています。當(dāng)然、私たちの期待

Chip Ganassi Racingは、OpenaiがMid-Ohio Indycarスポンサーとして発表しました Chip Ganassi Racingは、OpenaiがMid-Ohio Indycarスポンサーとして発表しました Jul 03, 2025 am 11:17 AM

世界で最も著名な人工知能組織の1つであるOpenaiは、3回のNTT IndyCarシリーズチャンピオンと2025年のインディアナポリス500優(yōu)勝者アレックスPAが運転するNo. 10チップガナッシレーシング(CGR)ホンダの主要なパートナーとして機能します。

See all articles