google sheet 最新数据获取

google sheet latest data fetch

我需要为我的 selenium-python 自动化脚本自动捕获 OTP,现在 otp 正在 google sheet 中更新,我正在使用 google API 使用下面的代码。现在我的脚本每小时 运行s,所以在这种情况下,我将有新的 OTP,每小时更新一次。如何使用python从googlesheet获取最新的更新数据?

“otp”是我的 sheet 名字。我正在使用 "range="otp!a1" 获取第一行和第一列的值。所以在第二个 运行 期间应该 "range="otp!a2" 获取第二行和第一列的值等等...

现在我的目标是在每次执行期间捕获最新值。

from googleapiclient.discovery import build
from google.oauth2 import service_account

SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
SERVICE_ACCOUNT_FILE = 'keys.json'
creds = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
SAMPLE_SPREADSHEET_ID = '1YYfxsX2FsdXLXqRwx0WTTlD7ru56m1D'
service = build('sheets', 'v4', credentials=creds)
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,range="otp!a1").execute()
values = result.get('values', [])
print(values)

如果要获取最后一行的值,下面的修改怎么样?

发件人:

result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID,range="otp!a1").execute()
values = result.get('values', [])

收件人:

result = sheet.values().get(spreadsheetId=SAMPLE_SPREADSHEET_ID, range="otp").execute()
values = result.get('values', []).pop() # or values = result.get('values', [])[-1]
  • 在这种情况下,range 是 sheet 名称。

  • 如果要获取“A”列的值,也可以修改如下

      values = result.get('values', []).pop()[0]
    

参考: