web-dev-qa-db-ja.com

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

私が持っています file.npyGoogle Colaboratory Notebookにロードしたい。 Googleドライブからファイルをロードする必要があることは既に知っていますが、その方法はわかりません。

どんな助けも歓迎です

10
Saeed

以下を使用して、ファイルをColaboratory Notebookにアップロードします。

from google.colab import files
uploaded = files.upload()

次に、uploadedオブジェクトからファイルのコンテンツにアクセスして、ファイルに書き込むことができます。

with open("my_data.h5", 'w') as f:
    f.write(uploaded[uploaded.keys()[0]])

実行する場合:

!ls

my_data.h5ファイルは現在のディレクトリにあります。

これは私のために働いた方法です。それが役に立てば幸い。

17
mikazuki

実際には、ローカルファイルを直接アップロードおよびダウンロードできます。

I/Oサンプルノート には、ローカルファイルのアップロード/ダウンロードの例とドライブファイルのアップロード/ダウンロードの例があります。

最初のセルは、ローカルファイルのアップロードを示しています。

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])))
7
Bob Smith

サブフォルダーとファイル(イメージ)を含むファイルとフォルダーのアップロード、Colab google:
この機能を試して、ファイルとフォルダーをColab googleにアップロードしてください。

from google.colab import files
import zipfile, io, os

    def read_dir_file(case_f):  # 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!')

1- 1つのファイルをアップロードするには:

fileName = read_dir_file(0)

アップロードするファイルが.csvファイルの場合:

import pandas as pd
df = pd.read_csv(fileName)
df.head()

同じ方法を使用して、異なる形式のファイルを読み取ることができます。

2-サブディレクトリとファイルを含む完全なディレクトリをアップロードするには、まず1つのZipを使用してディレクトリをZipし、次を使用します。

dirName = read_dir_file(1)

次に、例として、(dirName)を3つのサブディレクトリ(トレーニング、検証、およびテスト)がある場合、ルートディレクトリとして使用できます。

train_data_dir = dirName + 'training'  
validation_data_dir = dirName + 'validation'  
test_data_dir = dirName + 'test' 

それだ!楽しい!

2
Yasser Mustafa