Load local data files to Colaboratory

不打扰是莪最后的温柔 提交于 2019-11-26 22:38:46

问题


I just wondering that is it possible to load local data files(like .xlsx or .csv files that on my google drive) into Colaboratory?


回答1:


I was a bit confused by the example for loading local files on first glance as there was no place to specify a file path. All you need to do is copy and paste the recipe to figure this out, but to be clear:

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

will open an upload dialogue window where you can browse and select your local files for upload.

Then

for fn in uploaded.keys():
  print('User uploaded file "{name}" with length {length} bytes'.format(
      name=fn, length=len(uploaded[fn])))

will show you the keys to access what you just uploaded.

Edit for additional clarification: The dictionary uploaded will have keys of the selected filenames - so if for example you select a file my_test.txt, then you would access that file using uploaded['my_test.txt'].




回答2:


First, executing this cell should create an inline "Choose Files" button

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

After selecting your file(s), uploaded will be a dictionary of keys (the file names) and values (the encoded file objects). To decode the files for a library such as Pandas, try

import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['filename.csv'].decode('utf-8')))

After this your dataframe df should be ready to go




回答3:


Yes, all of these scenarios are supported.

For recipes to access local and Drive files, check out the I/O example notebook.

For access to xls files, you'll want to upload the file to Google Sheets. Then, you can use the gspread recipes in the same I/O example notebook.

A recently added way to upload local files is to use the 'Files' tab in the right hand side drawer.

From there, you can upload a local file using the 'upload' button.

(You can also download files by right clicking on them in the file tree.)




回答4:


Putting this out there as an alternative for people who prefer another way to upload more files - this basically allows you to upload your files through Google Drive.

Run the below code (found this somewhere previously but I can't find the source again - credits to whoever wrote it!):

!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}

Click on the first link that comes up which will prompt you to sign in to Google; after that another will appear which will ask for permission to access to your Google Drive.

Then, run this which creates a directory named 'drive', and links your Google Drive to it:

!mkdir -p drive
!google-drive-ocamlfuse drive

If you do a !ls now, there will be a directory drive, and if you do a !ls drive you can see all the contents of your Google Drive.

So for example, if I save my file called abc.txt in a folder called ColabNotebooks in my Google Drive, I can now access it via a path drive/ColabNotebooks/abc.txt




回答5:


Say, You have a folder on your Google drive named Colab and a csv is file located there. To load this file

import pandas as pd
titanic = pd.read_csv(“drive/Colab/Titanic.csv”)
titanic.head(5)

Before that, you may need to run these command:

Run these codes first in order to install the necessary libraries and perform authorization.

!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}

When you run the code above, you should see a result like this:

Click the link, copy verification code and paste it to text box.

After completion of the authorization process,

mount your Google Drive:

!mkdir -p drive
!google-drive-ocamlfuse drive



回答6:


It's a 2 step process.

Step 1 : First invoke a file selector with in your colab notebook with the following code

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

this will take you to a file browser window

step 2 : To load the content of the file into Pandas dataframe, use the following code

import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['iris.csv'].decode('utf-8')))
print(df)



回答7:


To get data from your system to colab try this:

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

Choose the file you want to upload and hit enter and its done. For example, I have uploaded an image and displayed it using the code below:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('image.jpg')
img_cvt = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img_cvt)
plt.show()



回答8:


To load local data files to Colab:

Method 1: Google Drive Method

  1. Upload data file from system memory to Google drive.
  2. Mount Google drive in Colab

    from google.colab import drive drive.mount('/content/gdrive')

  3. Then-> path = "/gdrive/My Drive/filename"

You can now access google drive files in Google Colab.

Method 2: Direct Load

from google.colab import files
def getLocalFiles():
    _files = files.upload()
    if len(_files) >0:
       for k,v in _files.items():
         open(k,'wb').write(v)
getLocalFiles()

Method 3: Using import files

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



回答9:


You can use this URL for uploading your files in Google Colab:

https://colab.research.google.com/notebooks/io.ipynb#scrollTo=vz-jH8T_Uk2c

go to Local file system>Downloading files to your local file system Then run the code. After that, browser button will be appeared for you to uploading your files from your PC.



来源:https://stackoverflow.com/questions/47320052/load-local-data-files-to-colaboratory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!