Load local data files to Colaboratory

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

9 Answers

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'].

5

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.

enter image description here

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

enter image description here

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

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

4

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() 
2

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) 
1

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

1

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() 

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: enter image description here

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 

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

 

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.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like