![見出し画像](https://assets.st-note.com/production/uploads/images/60715192/rectangle_large_type_2_867e8a8f9b5ea879b7f04f535ee7c4a3.jpeg?width=1200)
[GAS]CSVファイルをスプレッドシートに転記
CSVファイル内のデータを丸ごとスプレッドシートに転記したい、というケースはよくあります。
私は今まで手動でコピペしておりましたが、Google Apps Scriptで実装可能だそうです。私が所属しているコミュニティで教えて頂きました。ありがとうございました。
例えば下記のように「CSVファイル」というGoogleドライブフォルダに、
CSVファイルが1つあったとします。
このファイルを開き、データをスプレッドシートに丸々転記したいとします。
![画像1](https://assets.st-note.com/production/uploads/images/59758855/picture_pc_4ad9a7380c100e0625c71fc1551cdb45.png?width=1200)
スクリプトはこちら。
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](https://assets.st-note.com/production/uploads/images/59764577/picture_pc_8b42ac87991dfca477a37d534784372f.png?width=1200)
※
続きの記事を書きました。
※2022年9月に技術同人誌「会社員がVLOOKUPの次に覚えるQUERY関数超入門」を出版いたしました。