Ошибка ключа при запуске кодов для чтения файла с Google Диска в Python

#python #python-3.x #google-api #google-drive-api #google-api-python-client

#python #python-3.x #google-api #google-drive-api #google-api-python-client

Вопрос:

Я хочу прочитать файл непосредственно с Google Диска, используя API Google Drive в Visual Studio Code с использованием Python.

Вот часть кодов:

 file2 = drive.CreateFile({'id': file1['<the file ID of my file that is inside the Google Drive>']})
file2.GetContentString('testing.csv')
  

После запуска этого я получаю

KeyError: KeyError('<the file ID of my file that is inside the Google Drive>')

Я искал в Интернете возможные способы решения этой проблемы, но, похоже, пока ничего не работает…

Я следовал этому руководству: практическое руководство по управлению файлами Google Диска с помощью Python

Комментарии:

1. file2 = drive.CreateFile({'id': file1['id']}) file2.GetContentFile('testing.csv')

2. @ChatterOne я все еще получаю ту же ошибку…

3. @user14489561 в вашем заявлении говорится, что вы хотите прочитать файл с Google Диска. В вашем коде говорится, что вы пытаетесь неправильно создать файл на Google Диске. Что именно вы пытаетесь сделать?

4. @DalmTo, как и в, считывает данные файла csv (который хранится внутри Google Диска) и отображает данные файла csv в терминале вывода моего кода Visual Studio

Ответ №1:

{'id': file1['id']} подразумевает, что вы хотите получить файл id of file1 — a, который, как ожидается, был загружен на предыдущих шагах

Если вы не определили file1 в своем коде, вы можете жестко указать действительный идентификатор любого файла на вашем диске в качестве параметра.

Пример:

 file2 = drive.CreateFile({'id': '<the file ID of a csv file on your Google Drive>'})
file2.GetContentString('testing.csv')
  

Ответ №2:

загрузка файла на Google Диск

Вам необходимо отправить файл MediaFileUpload для загрузки

 file_metadata = {'name': 'photo.jpg'}
media = MediaFileUpload('files/photo.jpg', mimetype='image/jpeg')
file = drive_service.files().create(body=file_metadata,
                                    media_body=media,
                                    fields='id').execute()
print 'File ID: %s' % file.get('id')
  

просмотр загруженного файла в веб-приложении Google Drive.

использование file file.get вы получите ответ на запрос файла. Если загруженный вами файл относится к типу, который может быть открыт и отображен на Google Диске, у него будет вызываемое свойство.

Строка webViewLink — ссылка для открытия файла в соответствующем редакторе Google или программе просмотра в браузере.

Вы можете использовать эту ссылку, чтобы открыть файл в веб-приложении Google Drive. Однако обратите внимание, что пользователь, открывающий файл, должен иметь права доступа к этому файлу, чтобы иметь возможность его просматривать.

чтение данных запрограммировано.

Помните, что Google Drive api — это просто API для хранения файлов, он не имеет возможности открывать файлы, он просто сохраняет их. Если вы работаете с CSV, вам следует рассмотреть возможность преобразования его в таблицу Google, а затем использовать API Google Sheets для программного доступа к данным

Комментарии:

1. @DalmTo файл csv уже загружен на Google Диск, хотя … мне просто нужно прочитать данные этого файла csv и отобразить его на моем диске Google

2. Выполните file.get, а затем проверьте наличие webviewlink. Это будет работать, только если это тип файла, который может открыть Google Диск.