使用 pygsheets 使用 service_file 授权方式创建一个全新的 sheet

Use pygsheets to create a brand-new sheet using the service_file authorization method

我已经可以使用 open_by_key() 函数编辑现有的 sheet,但我希望能够创建一个全新的 sheet。

当我尝试以下代码时:

import pygsheets

creds_file = "/Users/jerome/audible2googlesheet.json"

gc = pygsheets.authorize(service_file=creds_file)
sh = gc.open("my_1st_public_sheet")
wks = sh.sheet1

# Update a single cell.                                                                                                                                                                                                                                                                                                               
wks.update_value('A1', "some value")

sh.share('', role='reader', type='anyone')

我明白了 exception/error:

raise SpreadsheetNotFound('Could not find a spreadsheet with title %s.' % title) pygsheets.exceptions.SpreadsheetNotFound: Could not find a spreadsheet with title my_1st_public_sheet.

我错过了什么?

  • 您想使用带有 python 的 pygsheets 创建新的 sheet。

如果我的理解是正确的,这个答案怎么样?根据你的问题,我可以理解为以下两种模式。

模式一:

  • 您想要在现有的 Spreadsheet 中添加新的 sheet。

在这种情况下,示例脚本如下。

示例脚本:

import pygsheets

creds_file = "/Users/jerome/audible2googlesheet.json"

spreadsheet_key = '###'  # Please set the Spreadsheet ID.
gc = pygsheets.authorize(service_file=creds_file)
sh = gc.open("my_1st_public_sheet")
sh.add_worksheet("sampleTitle")  # Please set the new sheet name.

模式二:

  • 您想创建新的 Spreadsheet。

在这种情况下,示例脚本如下。

示例脚本:

import pygsheets

creds_file = "/Users/jerome/audible2googlesheet.json"

gc = pygsheets.authorize(service_file=creds_file)
res = gc.sheet.create("sampleTitle")  # Please set the new Spreadsheet name.
print(res)
  • 在这种情况下,新的 Spreadsheet 被创建到 Drive of sercice 帐户。因此,如果您想在 Google 驱动器中查看创建的 Spreadsheet,请与您的 Google 帐户共享 Spreadsheet。请注意这一点。

注:

  • 这些示例脚本假设您已经能够使用 Sheets API.
  • 获取和放置 Spreadsheet 的值

参考文献:

如果我误解了你的问题,我深表歉意。

已添加:

在以下示例脚本中,创建了新的 Spreadsheet 并将创建的 Spreadsheet 与您的帐户共享。

示例脚本:

在你 运行 脚本之前,请将你的 Google 帐户的电子邮件地址设置为 ### your email address ###

import pygsheets

creds_file = "/Users/jerome/audible2googlesheet.json"

gc = pygsheets.authorize(service_file=creds_file)
res = gc.sheet.create("sampleTitle")  # Please set the new Spreadsheet name.
createdSpreadsheet = gc.open_by_key(res['spreadsheetId'])
createdSpreadsheet.share('### your email address ###', role='writer', type='user')