将 Google 工作表数据导入 Redshift

Getting Google Sheets Data into Redshift

我正在尝试将 Google Sheet 中的数据获取到我们的 Redshift 数据库中。我能够按照 link 的指示进行操作:https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html

是否可以让它从文件夹中最近添加的 google sheet 中提取数据(而不是仅指定单个 sheet)并写入 Redshift table?

这是用来将 google sheets 数据读入 Python 的内容:

import gspread
from oauth2client.service_account import ServiceAccountCredentials


# use creds to create a client to interact with the Google Drive API
scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)

# Find a workbook by name and open the first sheet
# Make sure you use the right name here.
sheet = client.open("Copy of Legislators 2017").sheet1

# Extract and print all of the values
list_of_hashes = sheet.get_all_records()
print(list_of_hashes)

您可以使用 Drive API to query for files added within a given timeframe that are of a specific type. All the search parameters and syntax for such a query are listed here.

# Build the Drive service
...

# Query for recent files, with stipulation that their mimetype contains "spreadsheet"
query = "mimeType contains 'spreadsheet' and modifiedTime > '"
query += someDateAsUTC_inRFC_3339_String + "'"

# Execute the query
request = drive.files.list(q=query, .... )
resp = request.execute()
nextPage = resp['nextPageToken']
if resp['files']:
    # Call method to consume files
while nextPage:
    request = drive.files.list_next(request, resp)
    if request:
        resp = request.execute()
        nextPage = resp['nextPageToken']
        if resp['files']:
            # Call method to consume files
    else
        break
# Done