如何在Google Colab中将DataFrame保存至指定Drive文件夹或本地?
嘿,我懂这种查了半天资料还是摸不清门道的挫败感!在Google Colab里处理好DataFrame后,不管是要存到Google Drive的指定文件夹(不管是Sheets还是Excel格式),还是直接下载到本地,其实步骤都很清晰,我给你一步步拆解:
第一步:先把Google Drive挂载到Colab
Colab默认没有访问你个人Drive的权限,所以第一步必须先挂载,把Drive变成Colab能读写的目录:
from google.colab import drive drive.mount('/content/drive')
运行这段代码后,会弹出一个授权链接,点击后登录你的Google账号,复制授权码粘贴回Colab的输入框,回车就能挂载成功。之后你Drive里的所有内容都会在/content/drive/MyDrive/这个路径下。
第二步:把DataFrame存到Google Drive指定文件夹的Google Sheets里
要操作Google Sheets,需要用到几个辅助库,先安装(如果没装过的话):
!pip install gspread gspread_dataframe oauth2client
然后执行以下代码,就能把DataFrame写入指定文件夹的Sheets:
import gspread from oauth2client.client import GoogleCredentials from gspread_dataframe import set_with_dataframe import pandas as pd # 替换成你自己的DataFrame即可 df = pd.DataFrame({'用户ID': [101,102,103], '用户名': ['张三','李四','王五'], '积分': [89,67,92]}) # 授权访问Google Sheets gc = gspread.authorize(GoogleCredentials.get_application_default()) # 重点:指定你要存放的Drive文件夹ID(从文件夹URL里提取,比如https://drive.google.com/drive/folders/ABC123,ABC123就是ID) target_folder_id = '你的目标文件夹ID' # 在指定文件夹里创建新的Sheets文件 sheet = gc.create('我的用户数据表格', folder_id=target_folder_id) # 记得把表格分享给你自己的邮箱,不然可能在Drive里找不到 sheet.share('你的Google账号邮箱', perm_type='user', role='writer') # 把DataFrame写入这个Sheets的第一个工作表 set_with_dataframe(sheet.sheet1, df)
如果是要写入已有的Sheets,把创建新表的代码换成sheet = gc.open('已存在的表格名称').sheet1就行。
第三步:把DataFrame存为Excel文件到Google Drive指定文件夹
这个更简单,用pandas自带的to_excel方法就行,先确保安装了必要的依赖:
!pip install openpyxl
然后直接指定Drive里的保存路径:
import pandas as pd import os # 替换成你自己的DataFrame df = pd.DataFrame({'用户ID': [101,102,103], '用户名': ['张三','李四','王五'], '积分': [89,67,92]}) # 指定要保存的文件夹路径(如果文件夹不存在,先创建) target_folder = '/content/drive/MyDrive/数据分析结果/用户数据' if not os.path.exists(target_folder): os.makedirs(target_folder) # 完整的保存路径 save_path = f'{target_folder}/用户积分数据.xlsx' # 写入Excel,index=False是不保存行索引 df.to_excel(save_path, index=False)
运行完后,去Drive对应的文件夹里就能找到这个Excel文件了。
第四步:把DataFrame直接下载到本地磁盘
如果不想存到Drive,直接下载到自己电脑:
from google.colab import files import pandas as pd # 替换成你的DataFrame df = pd.DataFrame({'用户ID': [101,102,103], '用户名': ['张三','李四','王五'], '积分': [89,67,92]}) # 先把DataFrame存到Colab的临时目录 df.to_excel('本地用户数据.xlsx', index=False) # 触发下载到本地 files.download('本地用户数据.xlsx')
运行后浏览器会自动弹出下载提示,直接保存到本地即可。
内容的提问来源于stack exchange,提问作者Nicolás Mejía




