繁体   English   中英

使用 Python 将 xlsx 文档添加到 Google Drive 共享文件夹

[英]Add xlsx documents to Google Drive shared folder using Python

我可以使用 Python 将 CSV 添加到共享的 google 驱动器文件夹,但我很困惑在我的脚本中进行哪些更改以允许 excel 文档。 这是我的 CSV 代码。

def publish_to_drive(folder_id, path_to_file, filename):
    SCOPES = ['https://www.googleapis.com/auth/drive']
    SERVICE_ACCOUNT_FILE = 'keys.json'
    credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    service = discovery.build('drive', 'v3', credentials=credentials)
    file_metadata = {
        'name': filename,
        'parents': [folder_id],
        'mimeType': 'text/csv'
    }
    media_body = MediaFileUpload(path_to_file, mimetype='text/csv', 
                                 resumable=True)
    resp = service.files().create(body=file_metadata, media_body=media_body,supportsAllDrives=True).execute()

我意识到需要更改 mimetypes,但我不确定它们需要更改为什么。 我尝试了各种方法,但都没有找到合适的。

在尝试打开 excel 文件时,使用正确的 mimetypes 我得到以下信息:

在此处输入图像描述

如果在text/csv文件类型上使用 function 没有问题,那么我相信您只需将mimetypetext/csv更新为application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

如果您也需要 function 来处理它们,我在下面添加了一些资源/链接,列出了其他 mime 类型。

要真正支持多种 MIME 类型,您需要动态识别每种文件类型的mimetype类型。 您可以通过以下任一方式进行:

  • 简单的字符串操作(如果您看到一个模式)或对您想要支持的每个mimetype有一个条件语句(都不推荐)
  • 或者为了普遍性,像这样

资源:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM