我在 Colabs 中使用 Python 来访问特定文件及其 ID、分析它们并记录它们的信息。我需要将记录的信息保存在云端硬盘上的团队文件夹中。我不愿意安装,因为团队文件夹位于公司驱动器文件夹的体系结构深处。我不知道如何从主驱动器访问它,我将它放在我的驱动器中以便于访问。我还觉得安装整个驱动器以及其中的所有公司信息很奇怪。我真的希望你可以挂载一个文件夹(我知道你可以在挂载后更改路径,但这也感觉很奇怪)。
我找到了很多根据文件 ID 下载文件的方法,但找不到任何上传到该文件 ID 或保存到该文件 ID 的方法。我知道 Pandas 还有一种方法可以从文件 ID 中读取信息并将其用作数据框,这是一个选项,但是您可以使用 Pandas 将新信息保存到文件 ID 中吗?似乎还有一种方法可以通过 Google API 使用文件 ID 轻松下载,但同样,上传到文件 ID 或文件夹 ID 并覆盖文件也不是一种简单的方法。
随着时间的推移,这些文件将会变得非常大;数万行,因此它需要能够通过仅上传新信息或能够处理长时间下载来处理。
编辑:我刚刚也尝试使用 gspread,但我无法与我们公司域之外的电子邮件共享文件,因此我无法使用 gspread。 ):
最佳答案
可以使用pydrive
根据FILE_ID进行读写
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
fid = 'Your File ID'
# read it
f = drive.CreateFile({'id': fid}) # just open an existing file
f.FetchMetadata(fetch_all=True)
text = f.GetContentString() # or f.GetContentFile('im.png') to save a local file
# or write it
f.SetContentString('Sample upload file content') # or SetContentFile('im.png')
f.Upload()
关于python - Colab Python : Downloading/Uploading google files without mounting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64789699/