CSVファイルをGoogleスプレッドシートに取り込むスクリプト(Google Apps Script)を作成しましたので紹介します。
事前準備(フォルダIDの確認)
今回のサンプルでは、Googleドライブ上の所定のフォルダにアップロードされたCSVファイルと、ファイル名を指定して取り込みます。
下図のように、あらかじめフォルダのIDを確認しておきます。
CSVをスプレッドシートに取り込むコード
スクリプトエディタに下記のコードを貼り付けて、importCsv関数を実行すればOKです。
なお、6行目のフォルダIDと7行目のファイル名は読者様のものに変更してください。
function importCsv(){
// 取り込み先のシート
const sheet = SpreadsheetApp.getActiveSheet();
// 格納フォルダとCSVファイル
const folder = DriveApp.getFolderById("1BZ2lloLbFfyMAPay9lXeYniMRdpXF3ue");
const file = folder.getFilesByName("sample.csv").next();
// CSVファイルを文字列化
const tmpCsvString = file.getBlob().getDataAsString();
const csvString = tmpCsvString.charCodeAt(0) === 0xFEFF ? tmpCsvString.slice(1) : tmpCsvString;
// CSVの文字列を二次元配列にしてシートに貼りつける
const arrays = Utilities.parseCsv(csvString);
sheet.clear();
sheet.getRange(1, 1, arrays.length, arrays[0].length).setValues(arrays);
}
取り込んだデータが文字化けしてしまっている場合、CSVファイルのエンコードがUTF-8ではない可能性があります。
.getDataAsString()の引数に、エンコードを指定してください。(以下の例では”Shift_JIS”を指定しています)
// CSVファイルを文字列化
const csvString = file.getBlob().getDataAsString("Shift_JIS");
コメント