GAS

GASでGoogleドライブのフォルダ内にあるcsvファイルをまとめてスプレッドシート に変換する

タイトル通り大量のCSVファイルをスプレッドシートに変換しないといけない機会があったのだが、一つずつ手動で対応するのが面倒だったのでGASで対応した。

使用頻度は低そうだけど、一応メモしておく。

Google Drive APIを使用しているので、サービスからGoogle Drive APIを読み込んでおく。
/**
 * フォルダ内のデータをまとめてGoogleスプレッドシートに変換する方法
 */
function myConvertToSpreadsheet() {
    var id = "1QOSY06ZRdXxonxI0wt2gXhp-3FVt80On"
    var source_folder = DriveApp.getFolderById(id);
    var target_files   = source_folder.getFiles();
    var dest_folder   = DriveApp.getFolderById(id);
    while(target_files.hasNext()) {
      var file = target_files.next();
      convertToSpreadsheet(file, dest_folder);
      //変換元のファイル削除
      file.setTrashed(true);
    }
}
function convertToSpreadsheet(file, folder) {
    options = {
        title: file.getName(),
        mimeType: MimeType.GOOGLE_SHEETS,
        parents: [{id: folder.getId()}]
    };
    Drive.Files.insert(options, file.getBlob())
}
ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。