python - 谷歌协作:从谷歌驱动器读取 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 读取。
谁能帮我找到解决方案,好吗?
解决方案
通过进一步研究库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)