如何使用 Python 在 Google 表格中附加数据

How to append data in a GoogleSheet using Python

我有一个带数据的google sheet,但它每天都有一个问题我必须放入数据(相同类型的数据),有人知道如何将数据附加到google sheet 使用 python,帮助我。

我有那种类型的结果,它在字符串中

print(time, " ", todayMaxProfit, " ", todayMaxLoss, " ", pl, " ", len(
orderList), " First pair sum:- ", int(orderList[0][4]+orderList[1][4]))

"2021-08-18 15:00:00  [1451, '2021-08-18 11:07:00']  [-10203, '2021-08-18 14:45:00']  -6900  2  First pair sum:-  234"

最后要追加数据

如何将值附加到 Google Spreadsheet with Python.

  1. 按照 quickstart 进行设置。确保您完全按照所有步骤操作!您将需要为您开始的每个使用 API 的项目执行此操作,因此您不妨按照此处的说明进行操作。在继续之前确保获得预期的输出!

  2. 然后您可以修改快速入门,使获取 service 成为一个单独的函数:

def getService():
    creds = None
    if os.path.exists('token.json'):
        creds = Credentials.from_authorized_user_file('token.json', SCOPES)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)
        with open('token.json', 'w') as token:
            token.write(creds.to_json())

    return build('sheets', 'v4', credentials=creds)
  1. 获得该服务后,您可以调用 Sheet 的 API。例如:
service = getService()
appendValues(service)
            
values = [
    [time, todayMaxProfit, todayMaxLoss, pl, len(orderList), int(orderList[0][4]+orderList[1][4])]
]
    
body = {'values': values}
result = service.spreadsheets().values().append(
    spreadsheetId="13rdolwpUD4h4RTuEgn1QbtgPMpJiZGMFubdh4loAfNQ", range="Sheet1!A1",
    valueInputOption="RAW", body=body).execute()

请注意 values 的格式必须是二维列表。:

[
    [A1, B1, C1],
    [A2, B2, C2]
]

使用 append 方法,只需将行 as-is 添加到 sheet 的末尾。 append 有几个参数:

  • spreadsheetId - 要将值附加到
  • 的价差 sheet 的 id
  • range - 找到数据的粗略范围。 Sheets API 将尝试评估 Sheet 中的数据并猜测最后一行在哪里。通常,如果你只有一个 table 填充了从 A1 到底部的数据,你可以将其保留为 A1,或者 C5,如果你有 headers 或空格。这个想法是将 API 指向要附加到的数据的 collection。
  • valueInputOption - 这通常可以保留为“RAW”,它只是在传递数据时插入数据。
  • body,这里有你的二维数据列表。

参考资料

您好,您可以试试 pygsheets,它很好用而且易于使用。

import pygsheets
gc = pygsheets.authorize(service_file='creds.json')
sh = gc.open('sheetname')  # Open GoogleSheet
worksheet1 = sh.worksheet('title', 'worksheetname')  # choose worksheet to work with
worksheed1.append_table(values=["Date", "blah", 1, '\'+', "ect"])  # append row to worksheet