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]

本条目是否有帮助?