web-dev-qa-db-ja.com

GoogleドライブからGoogleコラボラトリーにCSVファイルをアップロード(および使用)する方法

Pythonとgoogle colaboratoryseemedを試してみたかったのですが、Googleドライブにいくつかのファイルがあり、それらを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をアップロードしたかったのです。ファイルをアップロードできますが、タイトルを要求すると、タイトルは「Untitled」と表示されます。アップロードされたファイルの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

ここに私が見つけた他のいくつかのリンクがあります。

Google ColaboratoryでシェルフまたはNumpyファイルをインポートして読み取る方法

ローカルデータファイルを共同研究室に読み込む

13
Akhil

Googleドライブからcolaboratoryにcsvファイルを読み込むには、次の手順を実行する必要がありました。

1)まず、PyDriveでGoogleドライブにアクセスするためにcolaboratoryを許可する必要がありました。そのためにコード例を使用しました。 (下に貼り付け)

2)また、drive.google.comにログインして、ダウンロードしたいファイルのターゲットIDを見つける必要がありました。これを見つけるには、ファイルを右クリックし、IDの共有リンクをコピーします。 idは次のようになります。「1BH-rffqv_1auzO7tdubfaOwXzf278vJK」

3)その後、downloaded.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') 
16
Cendria

さて、私はかなり遅れていると確信していますが、念のために、これをそこに置きたいと思います。これを行う最も簡単な方法は

from google.colab import drive
drive.mount("/content/drive")

これによりリンクが生成され、クリックしてGoogle OAuthを使用してサインインし、キーをcolabセルに貼り付けると接続されます。

左側のサイドバーで使用可能なファイルのリストを確認し、アクセスするファイルのパスをコピーします。他のファイルと同じように読んでください。

2
gavin

ファイル作成は、最初のパラメーターでファイル本体を取ります。 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'})
1
DaImTo