如何在Google Colab中永久上传数据?解决断连后数据丢失问题
解决Colab上传数据断开连接后丢失的问题
嘿,我太懂你这个痛点了!用files.upload()上传的文件本质上是存在Colab的临时会话存储里的,只要断开连接、会话超时(一般闲置12小时就会自动结束),这些数据就会被清空,完全找不回来。下面给你几个靠谱的持久化方案,随便选一个都能让数据安稳待着:
方案1:挂载Google Drive(最推荐,零额外成本)
Google Drive是咱们的云存储空间,把它挂载到Colab后,就像操作本地文件夹一样,存进去的文件会永久保存在Drive里,不管Colab会话怎么断都没事。
步骤很简单:
- 先执行挂载代码,授权你的Google账号:
from google.colab import drive drive.mount('/content/drive')
运行后会弹出一个授权链接,点进去登录你的账号,复制生成的验证码粘贴回Colab的输入框,回车就挂载成功了。
- 上传文件并保存到Drive
你可以先上传文件,再把它移动到Drive目录里,比如:
import os from google.colab import files # 上传文件 uploaded = files.upload() # 把上传的文件保存到Drive的指定文件夹(没有就自动创建) save_dir = '/content/drive/MyDrive/Colab_Data/' os.makedirs(save_dir, exist_ok=True) for fn in uploaded.keys(): target_path = save_dir + fn with open(target_path, 'wb') as f: f.write(uploaded[fn]) print(f"搞定!文件「{fn}」已经存到Drive的Colab_Data文件夹里啦,断连也不怕丢~")
方案2:直接从Drive读取(跳过上传步骤)
如果你的文件本来就已经在Drive里了,那直接挂载Drive后,用文件路径就能读取,根本不用再上传一遍:
# 先挂载Drive(同上) import pandas as pd # 比如读取Drive里的CSV文件 df = pd.read_csv('/content/drive/MyDrive/Colab_Data/your_data.csv')
方案3:用Google Cloud Storage(适合大体积数据)
如果你的数据量特别大(比如几十G),Drive的空间不够用,那就试试Google Cloud Storage(GCS),它的存储容量更大,读写速度也更快,就是需要先在Google Cloud控制台创建一个存储桶:
- 先认证你的账号:
from google.colab import auth auth.authenticate_user()
- 把上传的文件上传到GCS存储桶:
!gsutil cp your_uploaded_file.csv gs://你的存储桶名称/
这样文件就永久存在GCS里了,后续需要用的时候直接从存储桶读取就行。
这些方案里,挂载Drive是最省心的,不用额外配置,只要有Google账号就能用,绝对能解决你数据丢失的问题!
内容的提问来源于stack exchange,提问作者Jogi
相关产品推荐
相关产品推荐

