見出し画像

つくば市のPayPayキャンペーンの対象店舗リストをGoogleマイマップに入れてみた


対象店舗のリストが「PDF」

茨城県つくば市では、2023年11月7日から電子マネー「PayPay」を使った市内事業者応援施策がはじまります。

つくば市のホームページに対象店舗のリストがあるのですが、PDFのリストが4つもありました。対象店舗のリストをPDFで配布するというのはよくあることなのですが、とりわけ残念なところが以下の点(カッコ内は初見の時の私の心の叫び)です。

  1. 業種別にPDFが分かれている(⇒PDFは1ファイルでよくね?)

  2. 同じPDFの中に同じ店舗が複数ありそう(⇒ダブりはチェックしてほしかったなぁ・・・)

  3. 店舗名に当たる情報が「屋号」と「店舗名」の2列に分かれている(⇒「店舗名」の1列でよくね?)

  4. 英数字が全角・半角バラバラ(⇒入力規則を設定しなかったの?)

  5. 閉店したお店も入っていた(⇒つくば市のホームページに注記があったけど、ちょっと不親切かな・・・)

PDFなので、ビューアーの検索機能を使えば店舗名や住所を使った検索はできます。その機能を知っている人であればあまり苦にすることはないでしょうが、知らなかったら途方に暮れてしまいそうです。実際、私がX(Twitter)でつぶやいたところ、投稿後約3日で5,000件以上表示されました。反応を見ても、同じことを考えている人はそこそこいそうでした。

Googleマイマップに入れれば解決じゃね?

私が考えたのは「PDFにある情報を加工して、「Googleマイマップ」にプロットする」というものでした。Googleマイマップとは、Googleマップの機能の一つで、自分自身専用の地図を作れるサービスです。私が当初思い描いていた方法はこちらです。

  1. 4つのPDFのリストをExcel化する

  2. Excel形式のリストを1つにする

  3. データのダブりを確認する

  4. CSVにする

  5. Googleマイマップにインポートする

4つのPDFのリストをExcel化する

私はAdobe Acrobatの有料版のライセンスを持っていません。その代わり、「Microsoft 365 Apps for business」というライセンスは持っています。法人向けのMicrosoft 365ですが、実は個人でも契約できます。

そこで、Microsoft 365のExcelを立ち上げ、PDFを読み込むようにしました。

Excelの「データ」タブをクリックし、「データの取得⇒ファイルから⇒PDFから」の順番にカーソルを移動しクリックします。

そうすると、こんな感じでデータが現れます。今回つくば市が公表したリストはトリッキーな表でなかったので、そのまま出力してくれました。

テーブルの形式で出力されているのがわかります。

Excel形式のリストを1つにする

4つのリストをExcel化してみると、リストによって列の数がバラバラになっていました。そこで、それぞれのリストで列の数をそろえてから1つにすることにしました。テーブル全体をコピーして、別シートに値貼り付けしておきます。

先ほど残念な点として紹介した通り「屋号と店舗名が分かれている」ため、CONCAT関数で1つのセルに収めるようにしました。

屋号と店舗名で同じ情報が入っているところがありますが、この時点ではとにかく1つの列にまとめることを優先します。

住所をよーく見ると、空白がありました。それも、全角だったり、半角だったり。そこで、一旦CONCAT関数で1つの列にまとめた後、右隣に新たに列を作って値貼り付けし、置換で空白を消しました。

英数字の全角・半角が混ざっている件は、一旦そのままにします。

1つのリストにつき「店舗名」「店舗住所」「業種」の3列にまとめた後、別のExcelブックを用意し、値貼り付けで1つのリストにまとめました。

データのダブりをチェックする

1つのリストにまとめた時点で、2,176行ありました。ダブりをチェックするポイントは2つです。

一つは「屋号・店舗名」です。列が2つに分かれていたためCONCAT関数で無理やり1つの行にしたものの、屋号と店舗名に同じ情報を入れている場合、店舗名にダブりが生じます。例えば「まえだ」というお店で、屋号と店舗名に両方同じ情報を入れると「まえだまえだ」になってしまう、というわけです。私自身Excelにそんなに長けているわけではないこともあり、目視で確認することにしました。

もう一つは複数行にわたって同じ店舗がある点です。最初はExcelの重複チェック機能を使おうとしたのですが、ほぼ意味がないことが判明しました。とある行では屋号と店舗名、別の行では店舗名だけ、という事象があったためです。これも目視で確認するしかないと判断しました。

結果、私が目視で確認できた限りで128件重複していることが判明しました。

CSVにする

Excel形式でも行けそうな感じでしたが、より安全策をとろうとCSVでインポートすることにしました。

「ファイル」を選択し、「エクスポート⇒ファイルの種類の変更⇒CSV(コンマ区切り)」をクリックしてから保存します。

Googleマイマップにインポートする

Googleマイマップにアクセスしてから「+新しい地図を作る」をクリックします。

左上の「インポート」をクリックし、作成したCSVをアップロードします。

インポートが終わると、こんな感じになります。読み込めなかったものはエラーとして表示してくれます。「データ表を開く」をクリックします。

エラー個所は赤い三角で出てくるので、わかりやすいです。どうやら建物名があるとダメなようなので、建物名を削ると、正常と返してくれました。

補正を終え、スタイルのところを「業種」にすると、ピンの色がこのように変わります。

一応、できているか確認します。私の好きなお店「もっくん珈琲」を見てみたところ、ちゃんと地図と同じところにピンが立っていました。

「もっくん珈琲」は自家焙煎のコーヒーが飲めるほか、ピリリと辛いジンジャーエールもおすすめです。

さいごに

今回、改めてつくば市のPayPayキャンペーンのリストをベースに作ってみましたが、いろいろ考えさせられました。データベースを管理する上で、入力規則は大切だと思うのです。例えば、住所を「1丁目1番地1号」と表記するか「1-1-1」と表記するかを決めるだけでもだいぶ変わります。

なお、つくば市に許可を取ったわけでもないので、作ったGoogleマイマップは個人用として使おうと思います。


この記事が気に入ったらサポートをしてみませんか?