Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 662
northcheng Avatar asked Nov 16 '17 01:11

northcheng


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

like image 112
elz Avatar answered Oct 20 '22 10:10

elz


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

like image 17
Bob Smith Avatar answered Oct 20 '22 09:10

Bob Smith


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

like image 16
Zachary Nagler Avatar answered Oct 20 '22 10:10

Zachary Nagler