見出し画像

[GAS]CSVファイルをスプレッドシートに転記

CSVファイル内のデータを丸ごとスプレッドシートに転記したい、というケースはよくあります。
私は今まで手動でコピペしておりましたが、Google Apps Scriptで実装可能だそうです。私が所属しているコミュニティで教えて頂きました。ありがとうございました。

例えば下記のように「CSVファイル」というGoogleドライブフォルダに、
CSVファイルが1つあったとします。
このファイルを開き、データをスプレッドシートに丸々転記したいとします。

画像1

スクリプトはこちら。

function CSVtoSS() {

 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);

 const sheet = SpreadsheetApp.getActiveSheet();
 sheet.getRange(1, 1, values.length, values[0].length).setValues(values);

}

正直に言うと、中ほどの3行(getBlobメソッド、getDataAsStringメソッド、parseCsvメソッド)が理解できておりません...
理解を深めたい方は、こちらの記事等を参考にしてください。

スクリプトとしては下記の結果が得られますので、まずはめでたしめでたし。

画像2


続きの記事を書きました。


※2022年9月に技術同人誌「会社員がVLOOKUPの次に覚えるQUERY関数超入門」を出版いたしました。


この記事が気に入ったらサポートをしてみませんか?