首页 > 解决方案 > 谷歌协作:从谷歌驱动器读取 gsheet 文件

问题描述

我正在尝试使用 Google Collab 读取 Google 驱动器中的 gsheet 文件。我尝试使用 drive.mount 来获取文件,但我不知道如何从那里获取带有熊猫的数据框。这是我试图做的:

from google.colab import auth
auth.authenticate_user()
import gspread
from oauth2client.client import GoogleCredentials
import os
import pandas as pd
from google.colab import drive

# setup
gc = gspread.authorize(GoogleCredentials.get_application_default())
drive.mount('/content/drive',force_remount=True)

# read data and put it in a dataframe
gsheets = gc.open_by_url('/content/drive/MyDrive/test/myGoogleSheet.gsheet')

如您所知,我对图书馆很迷茫。我想使用通过驱动器库访问驱动器的能力,从 gspread 获取内容,并使用 pandas 读取。

谁能帮我找到解决方案,好吗?

标签: pythongoogle-colaboratory

解决方案


通过进一步研究库gspread,我找到了解决问题的方法。我能够通过 id 或我不知道的 url 加载 gsheet 文件。然后我设法获取工作表的内容并将其作为熊猫数据框读取。这是代码:

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

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

# read data and put it in a dataframe
# spreadsheet = gc.open_by_url('https://docs.google.com/spreadsheets/d/google_sheet_id/edit#gid=0')
spreadsheet = gc.open_by_key('google_sheet_id')

wks = spreadsheet.worksheet('sheet_name')

data = wks.get_all_values()
headers = data.pop(0)

df = pd.DataFrame(data, columns=headers)

print(df)

推荐阅读