将Google表格数据转换为Redshift

时间:2018-03-01 23:07:34

标签: python google-sheets amazon-redshift google-api-python-client google-python-api

我试图将Google Sheet中的数据存入我们的Redshift数据库。我能够按照此链接中的说明进行操作:https://www.twilio.com/blog/2017/02/an-easy-way-to-read-and-write-to-a-google-spreadsheet-in-python.html

是否可以从最近添加的google工作表中提取数据(而不是仅指定单个工作表)并写入Redshift表?

以下是用于将Google工作表数据读入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)

1 个答案:

答案 0 :(得分:0)

您可以使用在给定时间范围内添加的Drive APIquery for files来添加特定类型。此类查询的所有搜索参数和语法都列在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