【问题标题】:Google Collab : Read gsheet file from Google driveGoogle Colab:从 Google 驱动器读取 gsheet 文件
【发布时间】:2021-09-09 20:48:31
【问题描述】:

我正在尝试使用 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 读取。

谁能帮我找到解决办法,好吗?

【问题讨论】:

    标签: python google-colaboratory


    【解决方案1】:

    通过进一步查看库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)
    

    【讨论】: