I just wondering that is it possible to load local data files(like .xlsx or .csv files that on my google drive) into Colaboratory?
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'].
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
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.)
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
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
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)
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()
To load local data files to Colab:
Method 1: Google Drive Method
- Upload data file from system memory to Google drive.
Mount Google drive in Colab
from google.colab import drive drive.mount('/content/gdrive')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()
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

