スプレッドシートでCSVの文字化けを解消!GASで簡単に自動化する方法

パソコンパソコン・スマホ教室
スポンサーリンク

CSVファイルをGoogleスプレッドシートに取り込んだとき、文字化けが発生して困った経験はありませんか?特に、Excelで作成したCSVファイルを取り込むと、日本語が「????」のように表示されてしまうことがあります。今回は、そんな悩みを解消するために、Google Apps Script(GAS)を使ってスプレッドシートにCSVを正しく取り込む方法をご紹介します。初心者の方でも安心して実践できる内容ですので、ぜひ最後までご覧ください。

スポンサーリンク

CSVファイルの文字化けの原因とは?

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

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`の使用や、データの分割処理など、効率的な方法を検討することをおすすめします。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

今回は、Google Apps Scriptを使って、スプレッドシートにCSVを正しく取り込む方法をご紹介しました。文字化けの原因とその対策を理解し、実際にスクリプトを使って自動化することで、作業効率が大幅に向上します。もし、さらに詳しいカスタマイズや自動化の方法について知りたい方は、お気軽にLINEでご相談ください。

コメント

タイトルとURLをコピーしました