LoginSignup
0
2

この記事では、GoogleスプレッドシートをPythonで操作する方法を紹介します。

必要な準備

まず、GoogleスプレッドシートAPIを使用するための設定を行います。

1. Google Cloud Platformでプロジェクトを作成
  1. Google Cloud Platformにアクセスし、Googleアカウントでログインします。
  2. 新しいプロジェクトを作成します。
2. APIを有効化
  1. プロジェクトが作成されたら、ナビゲーションメニューから「APIとサービス」→「ライブラリ」に移動します。
  2. 「Google Sheets API」を検索して有効にします。
  3. 同様に「Google Drive API」も有効にします。
3. 認証情報の作成
  1. ナビゲーションメニューから「APIとサービス」→「認証情報」に移動します。
  2. 「認証情報を作成」ボタンをクリックし、「サービスアカウントキー」を選択します。
  3. 新しいサービスアカウントを作成し、「役割」で「編集者」を選択します。
  4. JSON形式のキーをダウンロードします。このファイルを安全な場所に保存してください。
4. gspreadとoauth2clientのインストール

以下のコマンドを実行して、必要なライブラリをインストールします。

pip install gspread oauth2client

PythonでGoogleスプレッドシートを操作する

1. 認証とスプレッドシートへのアクセス

まず、ダウンロードしたJSONファイルを使用して認証を行い、Googleスプレッドシートにアクセスします。

import gspread
from oauth2client.service_account import ServiceAccountCredentials

# 認証情報の設定
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name('path/to/your/json/file.json', scope)

# クライアントの作成
client = gspread.authorize(creds)

# スプレッドシートの取得
spreadsheet = client.open('Your Spreadsheet Name')

# ワークシートの取得
worksheet = spreadsheet.sheet1
2. データの読み込み

次に、スプレッドシートからデータを読み込んでみましょう。

# 全データの取得
data = worksheet.get_all_records()
print(data)

# 特定のセルの値を取得
cell_value = worksheet.acell('A1').value
print(f"A1セルの値: {cell_value}")

# 特定の範囲の値を取得
range_values = worksheet.get('A1:B2')
print(f"A1:B2の値: {range_values}")
3. データの書き込み

スプレッドシートにデータを書き込む方法を紹介します。

# 特定のセルに値を書き込む
worksheet.update_acell('A1', 'Hello World')

# 特定の範囲に値を書き込む
worksheet.update('A2:B2', [['Foo', 'Bar']])

# 新しい行を追加
worksheet.append_row(['New', 'Row', 'Data'])
4. 行と列の操作

行や列を挿入・削除する方法を紹介します。

# 新しい行を挿入
worksheet.insert_row(['Inserted', 'Row'], 2)

# 行の削除
worksheet.delete_row(2)

# 新しい列を挿入
worksheet.insert_col(['Inserted', 'Column'], 2)

# 列の削除
worksheet.delete_col(2)
5. データのフィルタリングとソート

データのフィルタリングやソートを行う方法を紹介します。

# 条件に基づいてデータをフィルタリング(例: 1列目の値が'Foo'の行)
filtered_data = [row for row in worksheet.get_all_records() if row['Column1'] == 'Foo']
print(filtered_data)

# データのソート(例: 2列目の値でソート)
sorted_data = sorted(worksheet.get_all_records(), key=lambda x: x['Column2'])
print(sorted_data)

以上

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2