如何使用Google Colab读取Google电子表格

时间:2020-04-14 04:35:33

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

我们可以使用以下命令列出存在于Google驱动器中的电子表格

 from google.colab import drive
 drive.mount('/content/drive')
 !ls -l /content/drive/'Shared drives'

但无法使用以下命令读取电子表格

import gspread
from oauth2client.client import GoogleCredentials

gc = gspread.authorize(GoogleCredentials.get_application_default())

gc.open('/content/drive/'Shared drives/data.gsheet').data available

还有另一个问题,我们的工作表名称中有空间(可用数据),我们无权更改工作表名称

我有推荐链接:https://colab.research.google.com/notebooks/io.ipynb
请帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用gc.open_by_url('gsheets_url')打开文档(无需挂载驱动)。对于工作表名称,您可以使用 gsheets.worksheet('sheet name')

所以在你的情况下,它会是这样的:

from google.colab import auth
auth.authenticate_user()
import gspread
from oauth2client.client import GoogleCredentials

# setup
gc = gspread.authorize(GoogleCredentials.get_application_default())

# read data and put it in a dataframe
gsheets = gc.open_by_url('your-link')
sheets = gsheets.worksheet('data available').get_all_values()
df = pd.DataFrame(sheets[1:], columns=sheets[0])

(归功于this post

答案 1 :(得分:0)

如果您可以说运行此脚本时遇到的确切错误是有帮助的。但是,我注意到以下脚本中有多余的引号,

gc.open('/ content / drive /'共享驱动器/data.gsheet')

通过以下替换上面的多余内容

gc.open('/ content / drive /共享驱动器/data.gsheet')

另一种选择是尝试使用gc.open_by_url()代替gc.open()