使用pygsheets通过service_file授权方法创建一个全新的表

时间:2019-11-29 20:53:51

标签: python google-sheets pygsheets

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

当我尝试以下代码时:

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')

我收到此异常/错误:

  

raise SpreadsheetNotFound(“找不到标题为%s的电子表格。”%title)   pygsheets.exceptions.SpreadsheetNotFound:找不到标题为my_1st_public_sheet的电子表格。

我想念什么?

1 个答案:

答案 0 :(得分:1)

  • 您要使用pygsheets和python创建新表。

如果我的理解正确,那么这个答案如何?从您的问题中,我可以理解为以下两种模式。

模式1:

  • 您要在现有电子表格中添加新表。

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

示例脚本:

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.

模式2:

  • 您要创建新的电子表格。

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

示例脚本:

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)
  • 在这种情况下,新的电子表格将创建到服务硬盘帐户。因此,如果您想在Google云端硬盘中查看创建的电子表格,请与您的Google帐户共享该电子表格。请注意这一点。

注意:

  • 这些示例脚本假设您已经能够使用Sheets API获取和放置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')