Amo*_*mol 6 google-sheets google-sheets-api google-colaboratory flysystem-google-drive
我们可以使用以下命令列出谷歌驱动器中存在的电子表格
from google.colab import drive
drive.mount('/content/drive')
!ls -l /content/drive/'Shared drives'
Run Code Online (Sandbox Code Playgroud)
但无法使用以下命令读取电子表格
import gspread
from oauth2client.client import GoogleCredentials
gc = gspread.authorize(GoogleCredentials.get_application_default())
gc.open('/content/drive/'Shared drives/data.gsheet').data available
Run Code Online (Sandbox Code Playgroud)
还有一个问题,我们在工作表名称中有空间(可用数据),并且我们无权更改工作表名称
我有参考链接:https://colab.research.google.com/notebooks/io.ipynb
请帮忙。
小智 10
更新 Murilo Cunha 的答案,因为它给出了身份验证错误
from google.colab import auth
auth.authenticate_user()
import gspread
from google.auth import default
creds, _ = default()
gc = gspread.authorize(creds)
import pandas as pd
# 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])
Run Code Online (Sandbox Code Playgroud)
您可以使用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])
Run Code Online (Sandbox Code Playgroud)
(归功于这篇文章)
| 归档时间: |
|
| 查看次数: |
13018 次 |
| 最近记录: |