airflow.providers.google.suite.hooks.sheets

此模組包含一個 Google Sheets API 鉤子。

GSheetsHook

透過 Google Cloud 連線與 Google Sheets 互動。

模組內容

class airflow.providers.google.suite.hooks.sheets.GSheetsHook(gcp_conn_id='google_cloud_default', api_version='v4', impersonation_chain=None)[source]

Bases: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

透過 Google Cloud 連線與 Google Sheets 互動。

在 Google Sheet 中讀寫單元格:https://developers.google.com/sheets/api/guides/values

引數:
  • gcp_conn_id (str) – 獲取連線資訊時使用的連線 ID。

  • api_version (str) – API 版本

  • impersonation_chain (str | collections.abc.Sequence[str] | None) – 可選的服務賬號,用於使用短期憑據進行模擬,或者一個賬號鏈,需要獲取列表中最後一個賬號的 access_token,該賬號將在請求中被模擬。如果設定為字串,該賬號必須授予發起賬號 Service Account Token Creator IAM 角色。如果設定為序列,列表中的身份必須授予直接前一個身份 Service Account Token Creator IAM 角色,列表中第一個賬號將此角色授予發起賬號。

gcp_conn_id = 'google_cloud_default'[source]
api_version = 'v4'[source]
get_conn()[source]

檢索 Google Sheets 的連線。

返回:

Google Sheets 服務物件。

返回型別:

Any

get_values(spreadsheet_id, range_, major_dimension='DIMENSION_UNSPECIFIED', value_render_option='FORMATTED_VALUE', date_time_render_option='SERIAL_NUMBER')[source]

從 Google Sheet 中的單個範圍獲取值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/get

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • range – 要檢索值的 A1 表示法。

  • major_dimension (str) – 指示操作應應用於哪個維度。DIMENSION_UNSPECIFIED, ROWS, 或 COLUMNS

  • value_render_option (str) – 確定值在輸出中應如何呈現。FORMATTED_VALUE, UNFORMATTED_VALUE, 或 FORMULA

  • date_time_render_option (str) – 確定日期在輸出中應如何呈現。SERIAL_NUMBER 或 FORMATTED_STRING

返回:

指定工作表中的值陣列。

返回型別:

list

batch_get_values(spreadsheet_id, ranges, major_dimension='DIMENSION_UNSPECIFIED', value_render_option='FORMATTED_VALUE', date_time_render_option='SERIAL_NUMBER')[source]

從 Google Sheet 中的範圍列表獲取值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • ranges (list) – 要檢索值的 A1 表示法。

  • major_dimension (str) – 指示操作應應用於哪個維度。DIMENSION_UNSPECIFIED, ROWS, 或 COLUMNS

  • value_render_option (str) – 確定值在輸出中應如何呈現。FORMATTED_VALUE, UNFORMATTED_VALUE, 或 FORMULA

  • date_time_render_option (str) – 確定日期在輸出中應如何呈現。SERIAL_NUMBER 或 FORMATTED_STRING

返回:

Google Sheets API 響應。

返回型別:

dict

update_values(spreadsheet_id, range_, values, major_dimension='ROWS', value_input_option='RAW', include_values_in_response=False, value_render_option='FORMATTED_VALUE', date_time_render_option='SERIAL_NUMBER')[source]

更新 Google Sheet 中單個範圍的值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID。

  • range – 要檢索值的 A1 表示法。

  • values (list) – 電子表格範圍內的資料。

  • major_dimension (str) – 指示操作應應用於哪個維度。DIMENSION_UNSPECIFIED, ROWS, 或 COLUMNS

  • value_input_option (str) – 確定輸入資料應如何解釋。RAW 或 USER_ENTERED

  • include_values_in_response (bool) – 確定更新響應是否應包含已更新單元格的值。

  • value_render_option (str) – 確定值在輸出中應如何呈現。FORMATTED_VALUE, UNFORMATTED_VALUE, 或 FORMULA

  • date_time_render_option (str) – 確定日期在輸出中應如何呈現。SERIAL_NUMBER 或 FORMATTED_STRING

返回:

Google Sheets API 響應。

返回型別:

dict

batch_update_values(spreadsheet_id, ranges, values, major_dimension='ROWS', value_input_option='RAW', include_values_in_response=False, value_render_option='FORMATTED_VALUE', date_time_render_option='SERIAL_NUMBER')[source]

更新 Google Sheet 中多個範圍的值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • ranges (list) – 要檢索值的 A1 表示法。

  • values (list) – 電子表格範圍內的資料。

  • major_dimension (str) – 指示操作應應用於哪個維度。DIMENSION_UNSPECIFIED, ROWS, 或 COLUMNS

  • value_input_option (str) – 確定輸入資料應如何解釋。RAW 或 USER_ENTERED

  • include_values_in_response (bool) – 確定更新響應是否應包含已更新單元格的值。

  • value_render_option (str) – 確定值在輸出中應如何呈現。FORMATTED_VALUE, UNFORMATTED_VALUE, 或 FORMULA

  • date_time_render_option (str) – 確定日期在輸出中應如何呈現。SERIAL_NUMBER 或 FORMATTED_STRING

返回:

Google Sheets API 響應。

返回型別:

dict

append_values(spreadsheet_id, range_, values, major_dimension='ROWS', value_input_option='RAW', insert_data_option='OVERWRITE', include_values_in_response=False, value_render_option='FORMATTED_VALUE', date_time_render_option='SERIAL_NUMBER')[source]

將值追加到 Google Sheet 的單個範圍。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • range – 要檢索值的 A1 表示法。

  • values (list) – 電子表格範圍內的資料。

  • major_dimension (str) – 指示操作應應用於哪個維度。DIMENSION_UNSPECIFIED, ROWS, 或 COLUMNS

  • value_input_option (str) – 確定輸入資料應如何解釋。RAW 或 USER_ENTERED

  • insert_data_option (str) – 確定輸入新資料時如何更改現有資料。OVERWRITE 或 INSERT_ROWS

  • include_values_in_response (bool) – 確定更新響應是否應包含已更新單元格的值。

  • value_render_option (str) – 確定值在輸出中應如何呈現。FORMATTED_VALUE, UNFORMATTED_VALUE, 或 FORMULA

  • date_time_render_option (str) – 確定日期在輸出中應如何呈現。SERIAL_NUMBER 或 FORMATTED_STRING

返回:

Google Sheets API 響應。

返回型別:

dict

clear(spreadsheet_id, range_)[source]

清除 Google Sheet 中單個範圍的值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/clear

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • range – 要檢索值的 A1 表示法。

返回:

Google Sheets API 響應。

返回型別:

dict

batch_clear(spreadsheet_id, ranges)[source]

清除 Google Sheet 中範圍列表的值。

https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchClear

引數:
  • spreadsheet_id (str) – 要互動的 Google Sheet ID

  • ranges (list) – 要檢索值的 A1 表示法。

返回:

Google Sheets API 響應。

返回型別:

dict

get_spreadsheet(spreadsheet_id)[source]

檢索與給定 ID 匹配的電子表格。

引數:

spreadsheet_id (str) – 電子表格 ID。

返回:

與工作表過濾器匹配的電子表格。

get_sheet_titles(spreadsheet_id, sheet_filter=None)[source]

從與給定 ID 和工作表過濾器匹配的電子表格中檢索工作表標題。

引數:
  • spreadsheet_id (str) – 電子表格 ID。

  • sheet_filter (list[str] | None) – 要從工作表中檢索的工作表標題列表。

返回:

指定工作表中與工作表過濾器匹配的工作表標題列表。

create_spreadsheet(spreadsheet)[source]

建立一個電子表格,並返回新建立的電子表格。

引數:

spreadsheet (dict[str, Any]) – Spreadsheet 的例項 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets#Spreadsheet

返回:

一個電子表格物件。

返回型別:

dict[str, Any]

本條目是否有幫助?