MySQLの標準出力をコピー&ペーストでExcelの表に変換する
こんにちは、久々に連続ドラマを観ているinoueです。もちろん「モテキ」ですよ。選曲がすばらしすぎる!
さて、MySQLの出力結果をエクスポートしたい場合、本格的には 「[MySQL] CSV を使ってエクスポート・インポート」のようにしてファイル出力するのが基本です。
しかし、ちょっとしたクエリの結果をExcel形式にしたい、といった場合、エクスポートしたファイルをサーバからダウンロードして…、という手順はけっこう面倒です。
そんな時に、コピーアンドペーストでMySQLの標準出力をExcelの表に変換する方法がとても便利なので、今回はこちらを紹介します。
今回使用したのはExcel2007、ターミナルエミュレーターはPoderosaです。
1 クエリを実行する
まず、MySQLのクエリを実行します。
select id, name, sort_order from mst_prefectures order by sort_order limit 10;
結果が次のように出力されます。
2 出力結果をコピーする
表形式に出力された結果を選択してクリップボードにコピーします。
3 Excelシートにペーストする
Excelのワークシート上に貼りつけます。通常の貼りつけコマンドです。
すると、貼りつけた領域の右下にアイコンが表示されます。これをクリックし、「テキストファイルウィザードを使用する」を選択します。
4 テキストファイルウィザードを実行する
ここからはウィザードに従って操作します。データ形式はデフォルトの「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択します。
次に区切り文字として ”|” を「その他」のテキストボックスに入力し、選択します。デフォルトでチェックされている「スペース」は基本外します。選択した結果が「データのプレビュー」に反映されるのでよく確認しましょう。
必要に応じて列ごとのデータ形式を指定します。郵便番号のような0つめの文字列や日付文字列は正しく反映されるようデータ形式を設定してください。
また、不要な列はここで削除することも可能です。
以上でウィザードは完了です。
5 Excelシート上で整形する
以上でExcelの表形式にデータを変換することができました。
注意点など
厳密には各セル内にスペースやタブ文字が含まれている場合があります。それらは適宜置換などで除去して必要なデータを完成させてください。
かなりのデータ量でもこれでExcelデータ化できちゃって、調査・集計系のお仕事でかかせないtipsです。皆さんもお試しください。