我试图通过使用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表格中的模板。