想要试用python,而google colaboratory 似乎是最简单的选择。我的谷歌驱动器中有一些文件,并希望将它们上传到google colaboratory。 所以这是我正在使用的代码:
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
# 2. Create & upload a file text file.
uploaded = drive.CreateFile({'xyz.csv': 'C:/Users/abc/Google Drive/def/xyz.csv'})
uploaded.Upload()
print('Uploaded file with title {}'.format(uploaded.get('title')))
import pandas as pd
xyz = pd.read_csv('Untitled.csv')
基本上,对于用户" abc",我想从文件夹" def"上传文件xyz.csv。 我可以上传文件,但是当我要求标题时,标题是"无标题"。 当我要求上传的文件的ID时,它每次都会更改,因此我无法使用该ID。
我如何阅读文件???并设置一个正确的文件名???
xyz = pd.read_csv('Untitled.csv') doesnt work
xyz = pd.read_csv('Untitled') doesnt work
xyz = pd.read_csv('xyz.csv') doesnt work
以下是我发现的一些其他链接..
How to import and read a shelve or Numpy file in Google Colaboratory?
答案 0 :(得分:15)
要从我的google驱动器中读取csv文件到colaboratory,我需要执行以下步骤:
1)我首先需要授权colaboratory使用PyDrive访问我的谷歌硬盘。我用它们的代码示例。 (粘贴在下面)
2)我还需要登录我的drive.google.com以查找我想下载的文件的目标ID。我通过右键单击文件并复制ID的共享链接找到了这个。 id看起来像这样:'1BH-rffqv_1auzO7tdubfaOwXzf278vJK'
3)然后我运行了downloads.GetContentFile('myName.csv') - 输入我想要的名字(在你的情况下是xyz.csv)
这似乎对我有用!
我使用了他们在示例中提供的代码:
# Code to read csv file into colaboratory:
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
#2. Get the file
downloaded = drive.CreateFile({'id':'1BH-rffqv_1auzO7tdubfaOwXzf278vJK'}) # replace the id with id of file you want to access
downloaded.GetContentFile('xyz.csv')
#3. Read file as panda dataframe
import pandas as pd
xyz = pd.read_csv('xyz.csv')
答案 1 :(得分:0)
文件创建将文件正文作为其第一个参数。如果您查看file create的文档,则可以填写许多字段。在下面的示例中,您将它们添加到以逗号分隔的file_metadata。
file_metadata = {'name': 'photo.jpg'}
media = MediaFileUpload('files/photo.jpg',
mimetype='image/jpeg')
file = drive_service.files().create(body=file_metadata,
media_body=media,
fields='id').execute()
我建议您阅读文档的file upload部分,以便更好地了解上传的工作原理以及实际可以从Google驱动器中读取哪些文件。我不确定这是否可以让您访问Google colaborate
可能修复您的代码。
我不是一个python dev,但我的猜测是你可以通过这样设置你的标题。
uploaded = drive.CreateFile({'xyz.csv': 'C:/Users/abc/Google Drive/def/xyz.csv',
'name': 'xyz.csv'})
答案 2 :(得分:0)
好的,我可以肯定我来晚了,但是我想把它放在那里,以防万一。 我认为最简单的方法是
from google.colab import drive
drive.mount("/content/drive")
这将生成一个链接,单击该链接并使用Google OAuth登录,将密钥粘贴到colab单元中,您就可以连接了!
在左侧的边栏中签出可用文件列表,然后复制要访问的文件的路径。与其他任何文件一样,按需读取。
答案 3 :(得分:0)
我认为使用此命令就这么简单
# Mount Google Drive
import os
from google.colab import drive
drive.mount('/content/drive')
!pwd
!ls
import pandas as pd
df = pd.read_csv('Untitled.csv')
这将需要您的Google OAuth授权,并创建授权密钥。将密钥放入colab单元格。
请注意!,有时候,如果您在Google云端硬盘中删除或添加文件,则Google colab目录中的文件与Google云端硬盘不会更新或类似。