【问题标题】:Bulk convert csv files in Google drive to Google Sheets将 Google 云端硬盘中的 csv 文件批量转换为 Google 表格
【发布时间】:2016-07-01 17:58:51
【问题描述】:

我正在尝试选择我的 Google 驱动器中的一些 csv 文件并将它们转换为 Google 表格文件。我知道我可以使用“打开”选项逐个执行此操作,但是由于我有数百个文件,因此我正在寻找一种使用多选和转换来执行此操作的方法。

【问题讨论】:

    标签: google-sheets google-docs


    【解决方案1】:

    我知道转换多个文件的两种方法,“多选和转换”不是其中之一。

    重新上传

    下载文件,然后再次上传,首先在云端硬盘设置中启用“转换上传”。

    脚本

    使用Apps Script,可以自动将 CSV 文件转换为 Google 电子表格格式。首先,将要转换的文件移动到一个文件夹中,并记下它的 id(?id= 之后的可共享链接部分)。在以下脚本中使用文件夹 ID。

    function convert() {
      var folder = DriveApp.getFolderById('folder id here');
      var files = folder.getFiles();
      while (files.hasNext()) {
        var file = files.next();
        Drive.Files.copy({}, file.getId(), {convert: true});
      }
    } 
    

    按照说明启用脚本使用的Advanced Drive Service。最后,运行它。它将创建给定文件夹中所有文件的转换副本。

    【讨论】:

    • 真棒@Bookend。剧本就像一个魅力!只是为了给场景添加一点,我的文件会自动复制到 Google Drive 并由脚本更新 24 小时,因此在上传时我无法使用 convert=true。
    • 顺便说一句,您对将文件复制到另一个文件夹并在午夜自动运行此脚本有任何指示吗?再次感谢您及时而简洁的回复。
    • 使用 timed trigger 每 24 小时运行一次函数。对于简单地复制文件,标准DriveApp service 中有makeCopy。但是,如果您知道要转换哪些文件,则无需将它们移动到文件夹中;只需遍历文件并进行转换。一种选择是DriveApp.search 来定位文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多