ADVERTISEMENT

【Googleスプレッドシート】SQLiteデータをエクスポートしてSheetsに取り込み!データベース連携の基本

【Googleスプレッドシート】SQLiteデータをエクスポートしてSheetsに取り込み!データベース連携の基本
🛡️ 超解決

SQLiteデータベースで蓄積したデータを、Googleスプレッドシートで分析・共有したいと考えたことはありませんか。SQLiteは軽量で手軽なデータベースですが、可視化やチームでの編集にはスプレッドシートが適しています。この記事では、SQLiteのデータをCSVにエクスポートしてスプレッドシートにインポートする方法と、IMPORTDATA関数を使った自動取り込みの手法を紹介します。どちらの方法でも、データベースの内容をスプレッドシートで簡単に扱えるようになります。

【要点】SQLiteデータをスプレッドシートに取り込む2つの方法

  • CSVエクスポートとインポート: SQLiteのコマンドでテーブルをCSVに書き出し、スプレッドシートのインポート機能で取り込みます。最も簡単な方法です。
  • IMPORTDATA関数による自動取り込み: CSVファイルをGoogle Driveにアップロードし、共有リンクを取得します。スプレッドシートで=IMPORTDATA(リンク)と入力するだけで、自動的にデータが反映されます。
  • 注意事項: 文字コードや区切り文字、データ型の変換に注意が必要です。また、IMPORTDATA関数は公開されているURLが必要で、更新頻度に制限があります。

ADVERTISEMENT

SQLiteとスプレッドシートの連携の考え方

SQLiteは、アプリケーションのローカルデータベースとして広く利用されています。一方、Googleスプレッドシートはデータの可視化や共同編集に優れたツールです。この2つを連携することで、SQLiteで管理しているデータをスプレッドシート上でグラフ化したり、フィルタや関数で分析したりできるようになります。連携の方法としては、CSVファイルを介する方法が最も汎用的です。また、IMPORTDATA関数を使うと、若干の手間はあるものの自動更新が可能です。この記事では、これらの具体的な手順を解説します。

方法1:CSVエクスポートとスプレッドシートへのインポート

この方法は、SQLiteのデータを一度CSVファイルに書き出し、それをGoogleスプレッドシートにインポートするものです。手動での作業が必要ですが、最も確実で簡単な方法です。

手順1:SQLiteデータベースを開く

  1. ターミナルを起動する
    Windowsの場合はコマンドプロンプト、MacやLinuxの場合はターミナルを開きます。
  2. sqlite3コマンドでデータベースに接続する
    データベースファイルのあるディレクトリに移動し、次のコマンドを実行します。sqlite3 mydatabase.db。これでSQLiteの対話モードに入ります。

手順2:テーブルをCSV形式でエクスポートする

  1. 出力モードをCSVに設定する
    .mode csv と入力します。
  2. 出力先ファイルを指定する
    .output data.csv と入力します。これにより、以降のSELECT結果がdata.csvに書き込まれます。
  3. エクスポートするテーブルのデータを選択する
    SELECT * FROM テーブル名; と入力します。テーブル名は実際のものに置き換えてください。
  4. 出力を終了する
    .quit と入力してSQLiteを終了します。カレントディレクトリにdata.csvが生成されています。

手順3:スプレッドシートにCSVファイルをインポートする

  1. Googleスプレッドシートを開く
    ブラウザでGoogleスプレッドシートを開き、新しいシートを作成するか、既存のシートを開きます。
  2. 「ファイル」メニューから「インポート」を選択する
    メニューバーの「ファイル」をクリックし、「インポート」を選びます。
  3. CSVファイルをアップロードする
    アップロードダイアログで「アップロード」タブを選択し、先ほど作成したdata.csvファイルを選択します。「インポートアクション」で「新しいシートを作成」などを選び、「インポート」ボタンをクリックします。
  4. データの表示を確認する
    インポートが完了すると、新しいシートにデータが表示されます。必要に応じて、列の幅を調整したり、書式を設定したりしてください。

手順4:データの書式をチェックする

  1. 数値や日付が正しく認識されているか確認する
    自動変換で意図しない書式になることがあります。特に日付はシリアル値として扱われる場合があるため、表示形式を確認します。
  2. 必要に応じて書式を変更する
    セルを選択し、メニューの「表示形式」から適切な数値形式や日付形式を設定します。

これでCSVエクスポートとインポートの手順は完了です。この方法は手動ですが、特別なツールを必要とせず、誰でも簡単に実行できます。

方法2:IMPORTDATA関数を使った自動取り込み

SQLiteのデータを定期的にスプレッドシートに反映させたい場合、IMPORTDATA関数を使う方法が便利です。ただし、CSVファイルをインターネット上で公開する必要があるため、セキュリティに注意してください。

手順1:CSVファイルをGoogle Driveにアップロードする

  1. Google Driveを開く
    ブラウザでGoogle Driveにアクセスします。
  2. エクスポートしたCSVファイルをアップロードする
    先ほど作成したdata.csvをドラッグ&ドロップするか、「新規」→「ファイルのアップロード」でアップロードします。

手順2:共有リンクを取得する

  1. アップロードしたファイルを右クリックする
    ファイルを右クリックし、「共有」→「共有」を選択します。
  2. リンクを知っている全員に公開する
    「一般的なアクセス」を「リンクを知っている全員」に変更し、「完了」をクリックします。
  3. ファイルのリンクをコピーする
    再度右クリックして「リンクをコピー」を選択します。リンクは https://drive.google.com/file/d/…/view?usp=sharing のような形式です。

手順3:スプレッドシートでIMPORTDATA関数を使用する

  1. スプレッドシートのセルに関数を入力する
    データを表示したいセルに、次のように入力します。=IMPORTDATA("コピーしたリンク")。リンクは引用符で囲みます。
  2. 関数の結果を確認する
    しばらくすると、CSVの内容がシートに展開されます。IMPORTDATAは1時間ごとに自動的に再評価されるため、最新のデータが反映されます。

この方法では、SQLiteからCSVをエクスポートしてGoogle Driveにアップロードする作業は手動または別のスクリプトで自動化する必要があります。しかし、スプレッドシート側では自動更新されるため、定期的なインポート作業が不要になります。

ADVERTISEMENT

よくあるトラブルと注意点

文字コードのトラブル

CSVファイルに日本語が含まれる場合、文字コードの違いで文字化けすることがあります。SQLiteの標準出力はUTF-8ですが、WindowsのコマンドプロンプトではShift_JISで解釈されることがあります。この場合、エクスポート時に文字コードを指定するか、スプレッドシートでインポート時にUTF-8を明示的に選択してください。IMPORTDATA関数では、URLのファイルがUTF-8であることを確認してください。

区切り文字の違い

CSVはカンマ区切りが一般的ですが、データ内にカンマが含まれていると列がずれる原因になります。SQLiteの.mode csvは標準でカンマ区切りですが、必要に応じてタブ区切り(.mode tabs)に変更することもできます。スプレッドシートのインポート時には区切り文字を指定できるので、データに合わせて選択しましょう。

データ型の自動変換

スプレッドシートはインポート時に数値や日付を自動的に認識します。しかし、郵便番号など先頭が0の数値は先頭の0が削除されてしまうことがあります。その場合は、インポート後に列全体の書式を「プレーンテキスト」に設定すると正しく表示されます。

CSVインポートとIMPORTDATA関数の比較

項目 CSVエクスポート+インポート IMPORTDATA関数
自動更新 手動で再インポートが必要 1時間ごとに自動更新
設定の手間 低い(SQLiteコマンドのみ) 中程度(公開リンクの取得が必要)
セキュリティ ファイルを直接アップロードするため安全 URLが公開されるため注意が必要
更新頻度 任意 1時間に1回程度(制限あり)
データ容量 スプレッドシートの制限以内 IMPORTDATAの最大インポートセル数に注意

まとめ

SQLiteデータベースの情報をGoogleスプレッドシートに取り込む方法を2つ紹介しました。CSVエクスポートとインポートはシンプルで確実な方法です。一方、IMPORTDATA関数を使えば自動更新が可能になります。どちらを選ぶかは、データの更新頻度やセキュリティ要件に応じて判断してください。まずはCSVエクスポートから試してみて、必要に応じて自動化にステップアップすることをおすすめします。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。