CSVファイルをGoogleスプレッドシートに取り込んだとき、文字化けが発生して困った経験はありませんか?特に、Excelで作成したCSVファイルを取り込むと、日本語が「????」のように表示されてしまうことがあります。今回は、そんな悩みを解消するために、Google Apps Script(GAS)を使ってスプレッドシートにCSVを正しく取り込む方法をご紹介します。初心者の方でも安心して実践できる内容ですので、ぜひ最後までご覧ください。
CSVファイルの文字化けの原因とは?
CSVファイルは、データをカンマで区切ったテキストファイルです。しかし、文字コードの設定が適切でないと、日本語が正しく表示されません。例えば、Shift\_JISで保存されたCSVをUTF-8で読み込むと、文字化けが発生します。
Google Apps Script(GAS)を使って文字化けを防ぐ方法
GASを使うことで、スプレッドシートにCSVを正しく取り込むことができます。以下の手順で実装してみましょう。
スプレッドシートのスクリプトエディタを開く
まず、Googleスプレッドシートを開き、上部メニューの「拡張機能」から「Apps Script」を選択します。
スクリプトを記述する
以下のコードをスクリプトエディタに貼り付けてください。
function importCSVFromDrive() {
const folderId = 'YOUR_FOLDER_ID'; // CSVファイルが保存されているフォルダのID
const folder = DriveApp.getFolderById(folderId);
const files = folder.getFiles();
while (files.hasNext()) {
const file = files.next();
const csvData = file.getBlob().getDataAsString('Shift_JIS'); // 文字コードを指定
const csvArray = Utilities.parseCsv(csvData);
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.clear(); // 既存のデータをクリア
sheet.getRange(1, 1, csvArray.length, csvArray.length).setValues(csvArray);
}
}
フォルダIDの取得方法
Googleドライブで対象のフォルダを開き、URLからフォルダIDをコピーします。例えば、URLが「(https://drive.google.com/drive/folders/abc123xyz456」の場合、フォルダIDは「abc123xyz456」です。
スクリプトの実行
スクリプトエディタで「importCSVFromDrive」関数を選択し、実行ボタンをクリックします。初回実行時には、権限の承認が求められますので、指示に従って承認してください。
文字化けを防ぐためのポイント
文字コードの指定CSVファイルがShift\_JISで保存されている場合、`getDataAsString(‘Shift_JIS’)`とすることで、文字化けを防げます。
setValuesの使用`setValues`を使って一括でデータを入力することで、処理速度が向上します。
よくある質問や疑問
Q1: CSVファイルがUTF-8で保存されている場合、文字コードの指定は必要ですか?
はい、UTF-8で保存されている場合でも、`getDataAsString(‘UTF-8’)`と明示的に指定することで、文字化けを防げます。
Q2: 複数のCSVファイルを一度に取り込むことはできますか?
はい、上記のスクリプトでは、指定したフォルダ内のすべてのCSVファイルを順番に処理するようになっています。
Q3: CSVファイルの内容が大きい場合、処理が遅くなりますか?
大きなファイルを処理する際は、`setValues`の使用や、データの分割処理など、効率的な方法を検討することをおすすめします。
今すぐ解決したい!どうしたらいい?
いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」
あなたはこんな経験はありませんか?
✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦
平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。
LINEでメッセージを送れば即時解決!
すでに多くの方が私の公式LINEからお悩みを解決しています。
最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。
誰でも無料で使えますので、安心して使えます。
問題は先のばしにするほど深刻化します。
小さなエラーがデータ消失や重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。
あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。
ぜひ、あなたの悩みを私に解決させてください。
まとめ
今回は、Google Apps Scriptを使って、スプレッドシートにCSVを正しく取り込む方法をご紹介しました。文字化けの原因とその対策を理解し、実際にスクリプトを使って自動化することで、作業効率が大幅に向上します。もし、さらに詳しいカスタマイズや自動化の方法について知りたい方は、お気軽にLINEでご相談ください。
コメント