如何通过Drive API使用GoogleSheet模板将数据框设置为GoogleSheet工作表?

时间:2019-11-27 12:04:46

标签: python google-sheets google-drive-api google-sheets-api google-colaboratory

我试图通过使用pygsheets中的create()方法,使用另一个Googlesheets文件作为第一个文件的模板,并使用Google Colab,来创建Googlesheets文件。

根据文档,这可以通过获取电子表格资源并将其传递到pygsheet的create()方法中的“ template”参数中来实现,如下所示:

from google.colab import auth
auth.authenticate_user()
from googleapiclient.discovery import build
sheets_service = build('sheets', 'v4')
drive_service = build('drive', 'v3')

df = pd.DataFrame({'a' : ['1', '2', '3'],
                   'b' : ['1', '2', '3']})

#Install necessary packages into session
!pip install --upgrade --quiet gspread
!pip install --quiet gspread-pandas
!pip install --upgrade --quiet pygsheets

import google.auth
from google.colab import auth

auth.authenticate_user()
import pygsheets
credentials, _ = google.auth.default()
gc = pygsheets.client.Client(credentials)

#get spreadsheet resource
sheet_template = (sheets_service.spreadsheets()
                    .get(spreadsheetId = [speadsheetId])
                    .execute())

sh = gc.create('sheet',
               template = sheet_template)

sheet = sh.worksheet_by_title('Sheet1')
#set range to filtered data
sheet.set_dataframe(df, start = 'A2')

但是,当传递给它的字典响应无效时,gc.create()方法将忽略模板参数,这意味着它会以静默方式失败。

正在创建的电子表格未使用我指定的Google表格中的模板。

0 个答案:

没有答案