GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

burnash

gspread – Google Spreadsheets Python API

投稿日:

Google Spreadsheets Python API

Google Spreadsheets Python API

Pythonでgspreadを使用してスプレッドシートを管理します。

特徴:

  • GoogleスプレッドシートAPI v4
  • スプレッドシートをタイトルまたはURLで開きます。
  • 範囲、行全体または列全体の値を抽出します。
  • Python 3のサポート。

基本的な使用法

  1. Google Developers ConsoleからOAuth2の資格情報を取得する

  2. gspreadを使い始める:

import gspread

gc = gspread.authorize(credentials)

# Open a worksheet from spreadsheet with one shot
wks = gc.open("Where is the money Lebowski?").sheet1

wks.update_acell('B2', "it's down there somewhere, let me take another look.")

# Fetch a cell range
cell_list = wks.range('A1:B7')

より多くの例

スプレッドシートを開く

# You can open a spreadsheet by its title as it appears in Google Docs
sh = gc.open('My poor gym results') # <-- Look ma, no keys!

# If you want to be specific, use a key (which can be extracted from
# the spreadsheet's url)
sht1 = gc.open_by_key('0BmgG6nO_6dprdS1MN3d3MkdPa142WFRrdnRRUWl1UFE')

# Or, if you feel really lazy to extract that key, paste the entire url
sht2 = gc.open_by_url('https://docs.google.com/spreadsheet/ccc?key=0Bm...FE&hl')

スプレッドシートの作成

sh = gc.create('A new spreadsheet')

# But that new spreadsheet will be visible only to your script's account.
# To be able to access newly created spreadsheet you *must* share it
# with your email. Which brings us to…

スプレッドシートの共有

sh.share('otto@example.com', perm_type='user', role='writer')

ワークシートの選択

# Select worksheet by index. Worksheet indexes start from zero
worksheet = sh.get_worksheet(0)

# By title
worksheet = sh.worksheet("January")

# Most common case: Sheet1
worksheet = sh.sheet1

# Get a list of all worksheets
worksheet_list = sh.worksheets()

ワークシートの作成

worksheet = sh.add_worksheet(title="A worksheet", rows="100", cols="20")

ワークシートの削除

sh.del_worksheet(worksheet)

セル値の取得

# With label
val = worksheet.acell('B1').value

# With coords
val = worksheet.cell(1, 2).value

# To get a cell formula
cell = worksheet.acell('B1') # or .cell(1, 2)
cell.input_value

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

# Get all values from the first row
values_list = worksheet.row_values(1)

# Get all values from the first column
values_list = worksheet.col_values(1)

ワークシートからすべての値をリストのリストとして取得する

list_of_lists = worksheet.get_all_values()

細胞を見つける

# Find a cell with exact string value
cell = worksheet.find("Dough")

print("Found something at R%sC%s" % (cell.row, cell.col))

# Find a cell matching a regular expression
amount_re = re.compile(r'(Big|Enormous) dough')
cell = worksheet.find(amount_re)

一致したすべてのセルを見つける

# Find all cells with string value
cell_list = worksheet.findall("Rug store")

# Find all cells with regexp
criteria_re = re.compile(r'(Small|Room-tiering) rug')
cell_list = worksheet.findall(criteria_re)

セルオブジェクト

各セルには値と座標プロパティがあります。

value = cell.value
row_number = cell.row
column_number = cell.col

セルの更新

worksheet.update_acell('B1', 'Bingo!')

# Or
worksheet.update_cell(1, 2, 'Bingo!')

# Select a range
cell_list = worksheet.range('A1:C7')

for cell in cell_list:
    cell.value = 'O_o'

# Update in batch
worksheet.update_cells(cell_list)

インストール

要件

Python 2.6+またはPython 3+

PyPIから

pip install gspread

GitHubから

git clone https://github.com/burnash/gspread.git
cd gspread
python setup.py install

ドキュメンテーション

テスト

  1. Googleドライブにアクセスし、テストに使用する空のスプレッドシートを作成します。

  2. config dummyから設定ファイルを作成する:

    cp tests/tests.config.example tests/tests.config
  3. あなたの好きなエディタでtests.configを開き、テストスプレッドシートの情報で設定パラメータを入力してください。

  4. Noseをインストールします。

  5. 資格情報のjsonファイル( docを参照)をダウンロードし、 creds.jsonに名前を変更してtestsフォルダに入れます。

  6. テストを実行する:

    nosetests

貢献者

寄付する方法

質問をする

質問への回答を得る最も良い方法は、 Stack Overflowでgspreadタグを使用して質問することです。

レポートの問題

バグを報告し、 GitHubの問題を通して機能を提案してください。

問題を開く前に、重複している可能性のあるトラッカーを検索してください。 重複が見つかった場合は、問題が発生したとのコメントを追加してください。

貢献コード







-burnash
-, , , , ,

執筆者: