Есть ли способ импортировать .xlsx, сохраненный на gdrive, в таблицу с python? - PullRequest
0 голосов
/ 26 марта 2020

К сожалению, у меня нет кода для публикации здесь. Я пробовал некоторые вещи, но ни одна из них не сработала. Я хочу автоматически импортировать Excel (который обновляется каждые 2 часа) в Gsheet. Я не мог понять, как это сделать с помощью безголовых браузеров или API g-suite. Единственное, что я нашел, - это сайт, но он не работает для меня, потому что это для компании, и я не могу получить разрешение на это. У кого-нибудь есть идеи? Спасибо!

1 Ответ

1 голос
/ 27 марта 2020

Вы не можете напрямую импортировать .xlsx в Google Sheets

Но вы можете:

  1. Конвертировать .xlsx в таблицу Google

    • Если файл уже находится на вашем диске, его проще всего конвертировать с помощью метода Drive v2 Файлы: Копировать с указанием convert true.

Образец:

service.files().copy(fileId=file_id,convert=true, body={"title": "MyNewGoogleSheet"}).execute()
  • Если файл excel находится на вашем локальном диске c, документация предоставляет образец того, как импортировать это тип Google в Python, вам просто нужно изменить mimeType с 'text/csv' на application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.

  • Скопируйте и вставьте лист / диапазон из преобразованной электронной таблицы в уже существующую электронную таблицу.
  • Используйте для этого метод API листов, например, электронные таблицы.copyTo

Образец:

file_metadata = {
    'name': 'My Report',
    'mimeType': 'application/vnd.google-apps.spreadsheet'
}
media = MediaFileUpload('files/report.csv',
                        mimetype='text/csv',
                        resumable=True)
file = drive_service.files().create(body=file_metadata,
                                    media_body=media,
                                    fields='id').execute()
print 'File ID: %s' % file.get('id')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...