python - 使用 PyDrive 上传 XLSX 并将其转换为 Google Sheets

标签 python google-api google-sheets-api pydrive

我正在尝试将 .xlsx 文件上传到 Google 云端硬盘。我可以上传它。 但是,当我们尝试在云端硬盘中打开同一文件时,必须使用 Google 表格打开它。因此,它会创建一个同名的新文件并消耗驱动器空间。

我想我需要在上传时更改 MimeType。

我尝试过的是:

file = drive.CreateFile({"parents": [{"kind": "drive#fileLink", "id": FolderID}]
                        ,'title': fileName
                        ,'mimeType':'application/vnd.ms-excel'})
file.SetContentFile('12dec2018.xlsx')
file.Upload()

我也尝试过这个

'mimeType':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'

在 Google documentation

我找到了其他MimeType

'mimeType':'application/vnd.google-apps.spreadsheet'

但是它给了我错误

ApiRequestError: https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&alt=json returned "Invalid mime type provided">

请建议我如何才能达到理想的结果。

最佳答案

我认为主要问题是 pydrive 使用 Google Drive v2 还是 Google Drive v3。我在源代码中的挖掘指向 v2,这意味着在创建文件时,您需要发送 convert=true 以便在上传时转换文件 files.inesrt

# {'convert': True} triggers conversion to a Google Drive document.
file.Upload({'convert': True})

通过在文件上传时发送转换,它将自动转换为 Google 文档类型。

关于python - 使用 PyDrive 上传 XLSX 并将其转换为 Google Sheets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739061/

相关文章:

python 类 __getitem__ 负索引处理

google-maps - 在Google开发者控制台的 "Accept requests from these HTTP referrers"字段中设置HTTP引用的正确方法

authentication - 尝试通过服务帐户发送电子邮件获取 com.google.api.client.auth.oauth2.TokenResponseException : 401 Unauthorized

google-apps-script - Google Sheets API v4 Values.update 语法

python - 使用 updateCells API 请求更新多个单元格的格式

google-sheets-formula - 有没有办法隐藏 Google 工作表单元格中的公式?

python - 无法安装pyspark

python - 寻找张量的质心(tensorflow)

python - 属性错误: 'NoneType' object has no attribute 'is_relation'

php - 客户端无权使用此方法检索访问 token - Google calendar php api