มีหลายวิธีในการอ่านไฟล์ในสมุดบันทึก colab ของคุณ (**. ipnb) มีดังนี้:
- การติดตั้ง Google Drive ของคุณในเครื่องเสมือนของรันไทม์ ที่นี่ & ที่นี่
- ใช้ google.colab.files.upload () ทางออกที่ง่ายที่สุด
- ใช้REST API พื้นเมือง ;
- ใช้ Wrapper รอบ ๆ API เช่นPyDrive
วิธีที่ 1 และ 2 ใช้ได้ผลสำหรับฉันส่วนที่เหลือฉันคิดไม่ออก หากใครทำได้ตามที่คนอื่นพยายามในโพสต์ด้านบนโปรดเขียนคำตอบที่สวยงาม ขอบคุณล่วงหน้า.!
วิธีแรก:
ฉันไม่สามารถเมานต์ Google ไดรฟ์ได้ดังนั้นฉันจึงติดตั้งไลบรารีเหล่านี้
!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}
เมื่อขั้นตอนการติดตั้งและการอนุญาตเสร็จสิ้นขั้นแรกให้คุณติดตั้งไดรฟ์ของคุณ
!mkdir -p drive
!google-drive-ocamlfuse drive
หลังจากการติดตั้งฉันสามารถเมานต์ไดรฟ์ Google ได้ทุกอย่างใน Google ไดรฟ์ของคุณจะเริ่มจาก/ content / drive
!ls /content/drive/ML/../../../../path_to_your_folder/
ตอนนี้คุณสามารถอ่านไฟล์จากpath_to_your_folder
โฟลเดอร์ไปยังแพนด้าได้โดยใช้เส้นทางด้านบน
import pandas as pd
df = pd.read_json('drive/ML/../../../../path_to_your_folder/file.json')
df.head(5)
คุณสมมติว่าคุณใช้เส้นทางสัมบูรณ์ที่คุณได้รับ & ไม่ได้ใช้ /../ ..
วิธีที่สอง :
ซึ่งสะดวกถ้าไฟล์ของคุณที่คุณต้องการอ่านมีอยู่ในไดเร็กทอรีการทำงานปัจจุบัน
หากคุณต้องการอัปโหลดไฟล์ใด ๆ จากระบบไฟล์ในเครื่องของคุณคุณสามารถใช้โค้ดด้านล่างได้ไม่เช่นนั้นก็หลีกเลี่ยงได้!
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])))
สมมติว่าคุณมีลำดับชั้นของโฟลเดอร์ด้านล่างใน Google ไดรฟ์ของคุณ:
/content/drive/ML/../../../../path_to_your_folder/
จากนั้นคุณต้องใช้โค้ดด้านล่างเพื่อโหลดลงในแพนด้า
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df