Python - 如何检查 Google 电子表格是否已更新
Python - How to check if a Google Spreadsheets was updated
我需要检查共享的 Google 电子表格文档是否有更新。我想将字段“最后一次编辑是在 9 月 15 日由 Rob 进行的”作为日期或作为 Python 中的时间戳,并检查差异是否小于一天,但我没有在有关的文档。
到目前为止我的代码:
from oauth2client.service_account import ServiceAccountCredentials
import gspread
import pandas as pd
def get_gsheet_table(url, sheet_name):
scope = ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/spreadsheets"]
credentials = ServiceAccountCredentials.from_json_keyfile_name('./credentials/get_sheet_table.json', scope)
gc = gspread.authorize(credentials)
wb = gc.open_by_url(url)
sheet = wb.worksheet(sheet_name)
#TODO: check if there was an update
data = sheet.get_all_values()
df = pd.DataFrame(data)
df.columns = df.iloc[0]
df = df.iloc[1:]
return df
我正在尝试通过这种方式从文档中提取日期,因为我不想制作备份电子表格并比较两者。
欢迎提出任何建议
感谢 Tanaike 和 link 文档的帮助,我得以解决问题。
代码如下:
import requests
revisions_uri = f'https://www.googleapis.com/drive/v3/files/{wb.id}/revisions'
headers = {'Authorization': f'Bearer {credentials.get_access_token().access_token}'}
response = requests.get(revisions_uri, headers=headers).json()
print(response['revisions'][-1]['modifiedTime'])
我需要检查共享的 Google 电子表格文档是否有更新。我想将字段“最后一次编辑是在 9 月 15 日由 Rob 进行的”作为日期或作为 Python 中的时间戳,并检查差异是否小于一天,但我没有在有关的文档。
到目前为止我的代码:
from oauth2client.service_account import ServiceAccountCredentials
import gspread
import pandas as pd
def get_gsheet_table(url, sheet_name):
scope = ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/spreadsheets"]
credentials = ServiceAccountCredentials.from_json_keyfile_name('./credentials/get_sheet_table.json', scope)
gc = gspread.authorize(credentials)
wb = gc.open_by_url(url)
sheet = wb.worksheet(sheet_name)
#TODO: check if there was an update
data = sheet.get_all_values()
df = pd.DataFrame(data)
df.columns = df.iloc[0]
df = df.iloc[1:]
return df
我正在尝试通过这种方式从文档中提取日期,因为我不想制作备份电子表格并比较两者。
欢迎提出任何建议
感谢 Tanaike 和 link 文档的帮助,我得以解决问题。
代码如下:
import requests
revisions_uri = f'https://www.googleapis.com/drive/v3/files/{wb.id}/revisions'
headers = {'Authorization': f'Bearer {credentials.get_access_token().access_token}'}
response = requests.get(revisions_uri, headers=headers).json()
print(response['revisions'][-1]['modifiedTime'])