初心者必見!GASでCSVデータを快適に操作するテクニック全集
GASでCSVファイルを扱いたいんですが、どうしてもCSVの読み込みや出力方法がわからなくて…

猫男

catman
それならcatmanが、GASでのCSV操作の基本を教えてやろう。いざ、CSVの快適な操作の世界へ!
GASでCSVデータを読み込む方法
まずは、GASを使ってCSVファイルをローカルからインポートするところから始めよう。
ローカルからのCSVインポート
function importCSVFromLocal() {
var file = DriveApp.getFilesByName('yourfile.csv').next();
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString(), ',');
Logger.log(csvData);
}
- このスクリプトでは、Googleドライブからyourfile.csvを探し、parseCsvで配列として読み込む。
- getBlobはファイルの内容を取得するのに使う。
文字化け対策
もし文字化けが発生する場合は、以下のUTF-8指定を試してみるといいさ。
file.getBlob().getDataAsString('UTF-8');
やっとCSVのインポートができた…けど、今度は出力も試してみたい!

猫男

catman
よし、次はCSV形式でのデータ出力について見てみよう。
GASでCSVデータを出力する方法
GASで配列をCSV形式に変換し、ファイルとしてダウンロードできるようにするんださ。
CSVデータの出力
function exportToCSV() {
var data = [
['名前', '年齢', '職業'],
['山田', '30', 'エンジニア'],
['佐藤', '28', 'デザイナー']
];
var csvString = data.map(row => row.join(',')).join('\n');
var blob = Utilities.newBlob(csvString, 'text/csv', 'output.csv');
DriveApp.createFile(blob);
}
- このスクリプトでは、配列データをmapを使ってCSV形式の文字列に変換する。
- 結果はnewBlobを使ってファイルとしてGoogleドライブに保存できる。
練習問題:GASでCSVを操作してみよう!
これを実践してみよう:
- GASを使って、任意のCSVファイルを読み込み、ログに出力してみる。
- 読み込んだデータを加工して再度CSVとして出力する。
解答・解説
以下のスクリプトを参考に、実際に試してみると良いさ。
function practiceCSVOperation() {
// CSVを読み込む
var file = DriveApp.getFilesByName('yourfile.csv').next();
var csvData = Utilities.parseCsv(file.getBlob().getDataAsString());
// データを加工、この場合はそのまま出力
var modifiedData = csvData; // 加工が必要ならここで行う
var csvString = modifiedData.map(row => row.join(',')).join('\n');
// 加工したデータをCSV出力
var blob = Utilities.newBlob(csvString, 'text/csv', 'modified_output.csv');
DriveApp.createFile(blob);
Logger.log('CSV操作完了');
}
- ファイル読み込みと同時に、parseCsvでデータを配列形式で取得している。
- その配列を元に、新しいCSV形式の文字列を生成し、newBlobでファイルとして保存している。
GASでのCSV操作がこんなに簡単だなんて!他のデータもどんどん操作してみたくなりました!

猫男

catman
それでこそ元気だ。GASを使いこなして、自由にデータを操る楽しさを満喫しよう!