我可以从 Datalab 导出到 Google 表格吗?

Can I export to Google Sheets from Datalab?

如何将数据(例如 pandas 数据框)导出到 google sheet?

  1. 是否有高级库可以执行此操作,还是我必须使用 Google sheets API?
  2. 如果 Datalab 运行 在使用服务帐户的 GCE VM 上,我如何授权它访问 Google sheets?

是否有高级库可以执行此操作,还是我必须使用 Google 工作表 API?

一个可能的选择是使用 gspread 库。

如果 Datalab 运行 在使用服务帐户的 GCE VM 上,我如何授权它访问 Google 工作表? 以下是如何使用 oauth2client 版本 2.2.0 验证服务帐户的工作示例。

!pip install gspread
import oauth2client
import gspread

from oauth2client.service_account import ServiceAccountCredentials
credentials = ServiceAccountCredentials.from_json_keyfile_name('PathToTheServiceAccountJsonFile.json', scopes =  ['https://spreadsheets.google.com/feeds', 'https://docs.google.com/feeds'])
gs = gspread.authorize(credentials)
gs.open('TitleOfGoogleSheetsFileGoesHere').sheet1

确保与您的服务帐户的电子邮件地址共享 Google Sheet。例如 xxxx@.iam.gserviceaccount.com",

如果您遇到任何问题,请告诉我,以便我更新此答案。

这是一个示例,展示了如何将 Pandas DataFrame 导出到 Google Sheet。

https://colab.research.google.com/notebook#fileId=0B7I8C_4vGdF6SDdBT1pJZlZTU1k

示例显示:

  1. 正在使用您的帐户向 Google Sheet 进行身份验证。
  2. 使用 gspread API 创建一个新的 sheet。
  3. 正在创建要导出的随机 Pandas DataFrame。而且,
  4. 将 DataFrame 中的值导出到 Google Sheet。