1

我正在使用 pydrive 读取文件:

file_list = drive.ListFile({'q': "'root' in parents and trashed=false"}).GetList()
print(file_list)
took = False
for file1 in file_list:
  print('title: %s, id: %s' % (file1['title'], file1['id']))

并获取文件列表:

title: wikipedia.txt, id: 1emuNuhM0nMkKQEiABW4lcSn7CznTDR-w
title: wiki_2000_rows.csv, id: 1Kjs84pwQVXKyZKXPfbiQIy6QLtwIldcN

我想读文件

wiki_2000_rows.csv

并将其内容放入数据框中,但找不到如何操作。可以做到吗?如何读取文件的内容?

4

2 回答 2

1

您基本上需要CreateFile使用该特定 ID。以下代码段应该下载您的文件。然后你可以用pandas它来阅读它。

def download_file(drive_obj, file_id, output_fname):
    gfile = drive_obj.CreateFile({'id': file_id})
    if output_fname is None:
        output_fname = file_id
    gfile.GetContentFile(output_fname)

    return output_fname
于 2019-04-17T15:17:23.240 回答
0

为了阅读 wikipedia.txt ,您只需要访问这样的内容。

from pydrive.drive import GoogleDrive
from pydrive.auth import GoogleAuth

def login() :

    google_auth = GoogleAuth()
    google_auth.LocalWebserverAuth()
    google_auth.Authorize()
    google_drive = GoogleDrive( auth = google_auth )

    return google_drive


def read_file( id_file ) :

    metadata = dict( id = id_file )
    
    google_file = google_drive.CreateFile( metadata = metadata )

    google_file.GetContentFile( filename = id_file )

    content_bytes = google_file.content ; # BytesIO

    string_data = content_bytes.read().decode( 'utf-8' )

    return string_data


if __name__ == '__main__' :

    google_drive = login()

    ID_FILE = 'yout_file_id'

    string_data = read_file( id_file = ID_FILE )

    print( string_data )
于 2021-09-07T13:47:08.583 回答