個人データをGoogle Colaboratoryノートブックにインポートする一般的な方法は何ですか?非公開のGoogleシートをインポートすることはできますか?システムファイルから読み取ることはできません。入門ドキュメントはBigQueryの使用に関するガイドにリンクしていますが、それは少し...
個人データをGoogle Colaboratoryノートブックにインポートする一般的な方法は何ですか?非公開のGoogleシートをインポートすることはできますか?システムファイルから読み取ることはできません。入門ドキュメントはBigQueryの使用に関するガイドにリンクしていますが、それは少し...
回答:
ローカルファイルのアップロード/ダウンロードとドライブおよびシートとの統合を示す公式のノートブックの例は、https://colab.research.google.com/notebooks/io.ipynbから入手できます。
ファイルを共有する最も簡単な方法は、Googleドライブをマウントすることです。
これを行うには、コードセルで以下を実行します。
from google.colab import drive
drive.mount('/content/drive')
ドライブにアクセスするには、「Google Files Stream」を許可するリンクにアクセスするように求められます。その後、長い英数字の認証コードが表示され、Colabのノートブックに入力する必要があります。
その後、ドライブファイルがマウントされ、サイドパネルのファイルブラウザーで参照できます。
アップロードする
from google.colab import files
files.upload()
ダウンロード
files.download('filename')
リストディレクトリ
files.os.listdir()
あなたのグーグルドライブからデータをインポートする簡単な方法-これを行うことは人々の時間を節約します(グーグルがこのステップバイステップで明示的にリストしない理由を知らないでください)。
PYDRIVEのインストールと認証
!pip install -U -q PyDrive ## you will have install for every colab session
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)
アップロード
ローカルドライブからデータをアップロードする必要がある場合:
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))
実行すると、ファイルの選択ボタンが表示されます-アップロードファイルを見つけます-[開く]をクリックします
アップロードすると、次のように表示されます。
sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
User uploaded file "sample_file.json" with length 11733 bytes
ノートブックのファイルを作成
データファイルが既にgdriveにある場合は、この手順にスキップできます。
今それはあなたのグーグルドライブにあります。Googleドライブでファイルを見つけて右クリックします。[共有可能なリンク]をクリックします。次のウィンドウが表示されます:
https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn
コピー-'29PGh8XCts3mlMP6zRphvnIcbv27boawn'-これはファイルIDです。
ノートブックで:
json_import = drive.CreateFile({'id':'29PGh8XCts3mlMP6zRphvnIcbv27boawn'})
json_import.GetContentFile('sample.json') - 'sample.json' is the file name that will be accessible in the notebook.
データをノートブックにインポート
ノートブックにアップロードしたデータをインポートするには(この例のjsonファイル-ロード方法はファイル/データタイプによって異なります-.txt、.csvなど):
sample_uploaded_data = json.load(open('sample.json'))
これで、データを確認するために印刷できます。
print(sample_uploaded_data)
google.colab.files.upload()
唯一のFirefoxやSafariの、クロムでもない上で動作するようには思えません。こちらをご覧ください
ステップ1-GoogleドライブをCollaboratoryにマウントする
from google.colab import drive
drive.mount('/content/gdrive')
ステップ2-これで、左側のペイン(ファイルエクスプローラー)にGoogleドライブファイルが表示されます。インポートする必要があるファイルを右クリックし、コピーのパスを選択します。次に、このコピーしたパスを使用して、通常どおりにパンダにインポートします。
import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')
できた!
私が作った最も簡単な方法は:
これにより、Googleドライブを介してファイルをアップロードできます。
以下のコードを実行します(これは以前にどこかで見つかりましたが、ソースを再度見つけることはできません-それを書いた人へのクレジットです!):
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
表示される最初のリンクをクリックすると、Googleにログインするように求められます。その後、別のものが表示され、Googleドライブへのアクセス許可を求めます。
次に、これを実行して「drive」という名前のディレクトリを作成し、Googleドライブをそれにリンクします。
!mkdir -p drive
!google-drive-ocamlfuse drive
!ls
今実行すると、ディレクトリドライブが作成され、実行する!ls drive
と、Googleドライブのすべてのコンテンツを表示できます。
たとえば、Googleドライブのabc.txt
と呼ばれるフォルダにファイルを保存ColabNotebooks
すると、パス経由でアクセスできるようになりますdrive/ColabNotebooks/abc.txt
共同ラボの左側のバーには、「ファイル」というセクションがあります。そこにファイルをアップロードし、このパスを使用します
"/content/YourFileName.extension"
例: pd.read_csv('/content/Forbes2015.csv');
pd.read_csv('Forbes2015.csv');
私がこれまでに見つけた最も簡単なソリューションは、中小規模のCSVファイルに最適です。
pandas.read_csv(URL)
これは、テキストファイルを行単位またはバイナリファイルで読み取る場合に機能する場合と機能しない場合があります。
Dropboxからすばやく簡単にインポート:
!pip install dropbox
import dropbox
access_token = 'YOUR_ACCESS_TOKEN_HERE' # https://www.dropbox.com/developers/apps
dbx = dropbox.Dropbox(access_token)
# response = dbx.files_list_folder("")
metadata, res = dbx.files_download('/dataframe.pickle2')
with open('dataframe.pickle2', "wb") as f:
f.write(res.content)
私のように、Googleから「upload file colab」というキーワードで来た人たちのために:
from google.colab import files
uploaded = files.upload()
また、https: //github.com/ruelj2/Google_driveでgoogle.colabとPyDriveに私の実装を使用することもできます。
!pip install - U - q PyDrive
import os
os.chdir('/content/')
!git clone https://github.com/ruelj2/Google_drive.git
from Google_drive.handle import Google_drive
Gd = Google_drive()
次に、Googleドライブディレクトリ内のすべてのファイルをロードする場合は、
Gd.load_all(local_dir, drive_dir_ID, force=False)
または単に特定のファイル
Gd.load_file(local_dir, file_ID)
それは解決されました、ここで詳細を見つけて、以下の関数を使用してください:https : //stackoverflow.com/questions/47212852/how-to-import-and-read-a-shelve-or-numpy-file-in-google -colaboratory / 49467113#49467113
from google.colab import files
import zipfile, io, os
def read_dir_file(case_f):
# author: yasser mustafa, 21 March 2018
# case_f = 0 for uploading one File and case_f = 1 for uploading one Zipped Directory
uploaded = files.upload() # to upload a Full Directory, please Zip it first (use WinZip)
for fn in uploaded.keys():
name = fn #.encode('utf-8')
#print('\nfile after encode', name)
#name = io.BytesIO(uploaded[name])
if case_f == 0: # case of uploading 'One File only'
print('\n file name: ', name)
return name
else: # case of uploading a directory and its subdirectories and files
zfile = zipfile.ZipFile(name, 'r') # unzip the directory
zfile.extractall()
for d in zfile.namelist(): # d = directory
print('\n main directory name: ', d)
return d
print('Done!')
これは、Googleドライブからノートブックにファイルをインポートする1つの方法です。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret= {creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
!mkdir -p drive
!google-drive-ocamlfuse drive
Colab_Notebooksフォルダー内のデータセットファイルで、その名前はdb.csvとしましょう
import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")
それが役に立てば幸い
データセットのサイズが25 MB未満の場合、CSVファイルをアップロードする最も簡単な方法は、GitHubリポジトリから取得することです。
例:
import pandas as pd
url = 'copied_raw_data_link'
df1 = pd.read_csv(url)
df1.head()