GAS CSV取り込みで処理時間を早くしたい

GAS初心者です。処理時間を早くしたいのですが、一人で解決できず困っています。

・CSVをスプレッドシートに貼り付けたい。
・CSVの容量が大きく、以下のコードだと処理完了まで4分程度かかる。
・CSVはタブ区切り、B列を文字列で取り込みしたい(0落ちしないように)

function myFunction() { const folder = DriveApp.getFolderById('/***Folder_ID***/');//csvを格納したフォルダのID const files = folder.getFiles(); const file = files.next(); const fileId = file.getId(); const blob = DriveApp.getFileById(fileId).getBlob(); const csv = blob.getDataAsString(); const values = Utilities.parseCsv(csv,'\t'); //タブ区切り const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName('wk1') sheet.clear(); //シート初期化 sheet.getRange("B:B").setNumberFormat("@"); // B列文字列 sheet.getRange(1, 1, values.length, values[0].length).setValues(values); }

色々検索してDrive APIだと早く取り込めると書いてあり、たしかに2秒程度で取り込み
できたのですが、B列が0落ちしていまいます。何か他の方法などありますでしょうか。

function myFunction() { //変換したいファイル情報を取得 var file = DriveApp.getFileById("★ファイルIDを記載"); var name = file.getName(); //格納するフォルダIDを宣言 var folderId = "★フォルダIDを記載"; //生成するファイルのoptionを宣言 var option = { title:`【変換】${name}`, mimeType:MimeType.GOOGLE_SHEETS, parents:[{id:folderId}] }; //スプレッドシート変換  Drive.Files.insert(option, file); }

コメントを投稿

0 コメント